function add-device{ <# .SYNOPSIS Add a device to enable a software device driver. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER deviceidentifier Device identifier from the device specification for the software device driver. Valid input is in reverse domain name format (e.g. com.company.device). .PARAMETER instanceaddress Unique number to address this instance of the device, if multiple instances of the same device identifier are added. Valid values are integer in the range 0-31. Default is 0. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$deviceidentifier, [System.Nullable[long]]$instanceaddress, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($deviceidentifier -eq ""){ $deviceidentifier = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.device.add($deviceidentifier,$instanceaddress) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-device.alias{ <# .SYNOPSIS Display hardware location info for a device alias. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER alias Alias to lookup .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$alias, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($alias -eq ""){ $alias = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.device.alias.get($alias) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-device.alias{ <# .SYNOPSIS List device aliases. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.device.alias.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-elxnet.dbgmask{ <# .SYNOPSIS Gets Debug Mask of an elxnet nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER pcidevname PCI SBDF address for an elxnet NIC. The address can be found in the "PCI Device" column of the `esxcli network nic list' command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$pcidevname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($pcidevname -eq ""){ $pcidevname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.elxnet.dbgmask.get($pcidevname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-elxnet.dbgmask{ <# .SYNOPSIS Sets Debug Mask of an elxnet nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER mask DebugMask value in 8 digit Hex (Ex: 0x00000101), DRIVER: 0x1, UPLINK: 0x2, QUEUE: 0x4, INTR: 0x8, MCC: 0x10, TX: 0x20, RX: 0x40, MGMT: 0x80, WORKER: 0x100, SRIOV: 0x200, EVENT: 0x400, VLAN: 0x800, VXLAN: 0x1000 .PARAMETER pcidevname PCI SBDF address for an elxnet NIC. The address can be found in the "PCI Device" column of the `esxcli network nic list' command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$mask, [string]$pcidevname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($mask -eq ""){ $mask = [System.Management.Automation.Language.NullString]::Value } If ($pcidevname -eq ""){ $pcidevname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.elxnet.dbgmask.set($mask,$pcidevname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-elxnet.regdump{ <# .SYNOPSIS Gets regdump (FAT dump) of an elxnet nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER filepath Absolute file path (must begin with "/") to copy register dump. File will be generated on the target ESXi machine in case of remote esxcli invocations. .PARAMETER pcidevname PCI SBDF address for an elxnet NIC. The address can be found in the "PCI Device" column of the `esxcli network nic list' command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$filepath, [string]$pcidevname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($filepath -eq ""){ $filepath = [System.Management.Automation.Language.NullString]::Value } If ($pcidevname -eq ""){ $pcidevname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.elxnet.regdump.get($filepath,$pcidevname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-elxnet.stats{ <# .SYNOPSIS Displays private stats of an elxnet nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER pcidevname PCI SBDF address for an elxnet NIC. The address can be found in the "PCI Device" column of the `esxcli network nic list' command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$pcidevname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($pcidevname -eq ""){ $pcidevname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.elxnet.stats.get($pcidevname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-elxnet.vib{ <# .SYNOPSIS Displays the name of the VIB that provided this esxcli plugin .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.elxnet.vib.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-esxcli.command{ <# .SYNOPSIS This command will list all of the esxcli commands with their namespace, object, command name and description. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.esxcli.command.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-fcoe.adapter{ <# .SYNOPSIS List FCOE-capable CNA devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.fcoe.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function disable-fcoe.nic{ <# .SYNOPSIS Disable rediscovery of FCOE storage on behalf of an FCOE-capable CNA upon next boot. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The CNA adapter name (vmnicX) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.fcoe.nic.disable($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function discover-fcoe.nic{ <# .SYNOPSIS Initiate FCOE adapter discovery on behalf of an FCOE-capable CNA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The CNA adapter name (vmnicX) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.fcoe.nic.discover($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-fcoe.nic{ <# .SYNOPSIS List FCOE-capable CNA devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.fcoe.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-fcoe.nic{ <# .SYNOPSIS Set options on FCOE-capable CNA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enablevn2vn Enable or Disable VN2VN mode on the nic (Reboot Required) .PARAMETER nicname The CNA adapter name (vmnicX) .PARAMETER vlanid The VLAN id for this nic, range '0 - 4095'(Reboot Required) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enablevn2vn, [string]$nicname, [System.Nullable[long]]$vlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.fcoe.nic.set($enablevn2vn,$nicname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-graphics.device{ <# .SYNOPSIS List all of the graphics devices on this host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.graphics.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-graphics.vm{ <# .SYNOPSIS List active VMs associated with graphics devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.graphics.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.bootdevice{ <# .SYNOPSIS List the boot device order, if available, for this host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.bootdevice.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.clock{ <# .SYNOPSIS Disply the current hardware clock time. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.clock.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-hardware.clock{ <# .SYNOPSIS Set the hardware clock time. Any missing parameters will default to the current time. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER day Day .PARAMETER hour Hour .PARAMETER min Minute .PARAMETER month Month .PARAMETER sec Second .PARAMETER year Year .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$day, [System.Nullable[long]]$hour, [System.Nullable[long]]$min, [System.Nullable[long]]$month, [System.Nullable[long]]$sec, [System.Nullable[long]]$year, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.clock.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.cpu{ <# .SYNOPSIS List all of the CPUs on this host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.cpu.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.cpu.cpuid{ <# .SYNOPSIS Get CPUID fields for the given CPU. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER cpu The ID of the CPU to query for CPUID data .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$cpu, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.cpu.cpuid.get($cpu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.cpu.global{ <# .SYNOPSIS Get properties that are global to all CPUs. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.cpu.global.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-hardware.cpu.global{ <# .SYNOPSIS Set properties that are global to all CPUs. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER hyperthreading Enable or disable hyperthreading .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$hyperthreading, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.cpu.global.set($hyperthreading) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.ipmi.fru{ <# .SYNOPSIS Get IPMI Field Replaceable Unit (FRU) device details. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeraw Include a hex dump of the IPMI data Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeraw, [string]$node, [System.Nullable[boolean]]$includeprettyraw, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.fru.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.ipmi.fru{ <# .SYNOPSIS List IPMI Field Replaceable Unit (FRU) inventory. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeraw Include a hex dump of the IPMI data Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeraw, [string]$node, [System.Nullable[boolean]]$includeprettyraw, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.fru.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.ipmi.sdr{ <# .SYNOPSIS Get IPMI Sensor Data Repository (SDR) properties. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeraw Include a hex dump of the IPMI data Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeraw, [string]$node, [System.Nullable[boolean]]$includeprettyraw, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.ipmi.sdr{ <# .SYNOPSIS List IPMI Sensor Data Repository. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeraw Include a hex dump of the IPMI data Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER formatter Override the formatter to use for a given command. Available formatter: simple ,table .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeraw, [string]$node, [string]$formatter, [System.Nullable[boolean]]$includeprettyraw, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } If ($formatter -eq ""){ $formatter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($formatter -ne $Null) -or ($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.sdr.list($formatter,$ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function clear-hardware.ipmi.sel{ <# .SYNOPSIS Clear IPMI System Event Log. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER includeraw Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeprettyraw, [System.Nullable[boolean]]$includeraw, [string]$node, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.sel.clear($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.ipmi.sel{ <# .SYNOPSIS Get IPMI System Event Log (SEL) properties. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeraw Include a hex dump of the IPMI data Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeraw, [string]$node, [System.Nullable[boolean]]$includeprettyraw, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.sel.get($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.ipmi.sel{ <# .SYNOPSIS List IPMI System Event Log. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoremissing Do not fail command if ipmi device is not present .PARAMETER includeraw Include a hex dump of the IPMI data Include a hex dump where the value of each byte is presented as hexidecimal characters joined without spaces .PARAMETER node Specify which IPMI device (0..3) to query, defaults to 'all' for all ipmi nodes .PARAMETER includeprettyraw Include a hex dump where each byte is separated by a space and its value is presented with two hexidecimal characters using a leading zero if needed .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoremissing, [System.Nullable[boolean]]$includeraw, [string]$node, [System.Nullable[boolean]]$includeprettyraw, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($includeprettyraw -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.ipmi.sel.list($ignoremissing,$includeprettyraw,$includeraw,$node) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.memory{ <# .SYNOPSIS Get information about memory. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.memory.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.pci{ <# .SYNOPSIS List all of the PCI devices on this host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER class Filter the PCI devices based on their hexadecimal Class ID .PARAMETER mask Mask the filter provided by the class flag .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$class, [string]$mask, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($class -eq ""){ $class = [System.Management.Automation.Language.NullString]::Value } If ($mask -eq ""){ $mask = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.pci.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.pci.list($class,$mask) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.platform{ <# .SYNOPSIS Get information about the platform .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.platform.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.smartcard.certificate{ <# .SYNOPSIS Certificates from inserted smart cards. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER slot List certificates from only the token in the given slot. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$slot, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.hardware.smartcard.certificate.list($slot) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.smartcard.info{ <# .SYNOPSIS Information about the smart card subsystem. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.hardware.smartcard.info.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.smartcard.slot{ <# .SYNOPSIS Information about connected smart card readers. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.hardware.smartcard.slot.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-hardware.smartcard.token{ <# .SYNOPSIS Information about inserted smart cards. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER slot List tokens only for the given slot. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$slot, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.hardware.smartcard.token.list($slot) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-hardware.trustedboot{ <# .SYNOPSIS Information about the status of trusted boot. (TPM, DRTM status) .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.hardware.trustedboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter{ <# .SYNOPSIS List the iSCSI information for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.adapter{ <# .SYNOPSIS List all the iSCSI Host Bus Adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter{ <# .SYNOPSIS Set the iSCSI name and alias for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER alias The iSCSI initiator alias. .PARAMETER name The iSCSI initiator name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$alias, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($alias -eq ""){ $alias = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.set($adapter,$alias,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.auth.chap{ <# .SYNOPSIS Get the iSCSI CHAP authentication for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER direction The iSCSI CHAP authentication direction ( [uni, mutual]) The iSCSI CHAP authentication direction. Options are: [uni, mutual] .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$direction, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($direction -eq ""){ $direction = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.get($adapter,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.auth.chap{ <# .SYNOPSIS Set the iSCSI CHAP authentication for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER authname The iSCSI CHAP authentication name .PARAMETER default Resetting iSCSI CHAP authenthication setting to default. .PARAMETER direction The iSCSI CHAP authentication direction ( [uni, mutual]) The iSCSI CHAP authentication direction. Options are: [uni, mutual] .PARAMETER level The iSCSI CHAP authentication level ( [prohibited, discouraged, preferred, required]) The iSCSI CHAP authentication level. Options are: [prohibited, discouraged, preferred, required] .PARAMETER secret The iSCSI CHAP authentication secret .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$authname, [System.Nullable[boolean]]$default, [string]$direction, [string]$level, [string]$secret, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($authname -eq ""){ $authname = [System.Management.Automation.Language.NullString]::Value } If ($direction -eq ""){ $direction = [System.Management.Automation.Language.NullString]::Value } If ($level -eq ""){ $level = [System.Management.Automation.Language.NullString]::Value } If ($secret -eq ""){ $secret = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.auth.chap.set($adapter,$authname,$default,$direction,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.capabilities{ <# .SYNOPSIS List the iSCSI details for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.capabilities.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function rediscover-iscsi.adapter.discovery{ <# .SYNOPSIS Do the iSCSI Discovery for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.rediscover($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-iscsi.adapter.discovery.sendtarget{ <# .SYNOPSIS Add a sendtarget address .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI sendtarget address: The iSCSI sendtarget address: . IPv6 address can be specified as [XX:XX:XX:XX::XX]:port or XX:XX:XX:XX::XX .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.add($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.adapter.discovery.sendtarget{ <# .SYNOPSIS List sendtarget addresses .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-iscsi.adapter.discovery.sendtarget{ <# .SYNOPSIS Remove a sendtarget address .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI sendtarget address: The iSCSI sendtarget address: . IPv6 address can be specified as [XX:XX:XX:XX::XX]:port or XX:XX:XX:XX::XX .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.remove($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.discovery.sendtarget.auth.chap{ <# .SYNOPSIS Get iSCSI CHAP authentication on a sendtarget address .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI sendtarget address: .PARAMETER direction The iSCSI authentication direction ( [uni, mutual]) The iSCSI authentication direction. Options are: [uni, mutual] .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$direction, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($direction -eq ""){ $direction = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.get($adapter,$address,$direction) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.discovery.sendtarget.auth.chap{ <# .SYNOPSIS Set iSCSI CHAP authentication on a sendtarget address .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI sendtarget address: .PARAMETER authname The iSCSI authentication name .PARAMETER default Resetting iSCSI authentication setting to default. .PARAMETER direction The iSCSI authentication direction ( [uni, mutual]) The iSCSI authentication direction. Options are: [uni, mutual] .PARAMETER inherit Inheriting iSCSI authentication setting from parent. .PARAMETER level The iSCSI authentication level ( [prohibited, discouraged, preferred, required]) The iSCSI authentication level. Options are: [prohibited, discouraged, preferred, required] .PARAMETER secret The iSCSI authentication secret .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$authname, [System.Nullable[boolean]]$default, [string]$direction, [System.Nullable[boolean]]$inherit, [string]$level, [string]$secret, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($authname -eq ""){ $authname = [System.Management.Automation.Language.NullString]::Value } If ($direction -eq ""){ $direction = [System.Management.Automation.Language.NullString]::Value } If ($level -eq ""){ $level = [System.Management.Automation.Language.NullString]::Value } If ($secret -eq ""){ $secret = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.discovery.sendtarget.param{ <# .SYNOPSIS Get iSCSI parameter on a sendtarget address .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI sendtarget address: .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.get($adapter,$address) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.discovery.sendtarget.param{ <# .SYNOPSIS Set the iSCSI parameter for the iSCSI Sendtarget. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI sendtarget address: .PARAMETER default Resetting iSCSI parameter setting to default. .PARAMETER inherit Inheriting iSCSI parameter setting from parent. .PARAMETER key The iSCSI parameter key .PARAMETER value The iSCSI parameter value .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [System.Nullable[boolean]]$default, [System.Nullable[boolean]]$inherit, [string]$key, [string]$value, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($key -eq ""){ $key = [System.Management.Automation.Language.NullString]::Value } If ($value -eq ""){ $value = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.sendtarget.param.set($adapter,$address,$default,$inherit,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-iscsi.adapter.discovery.statictarget{ <# .SYNOPSIS Add a static target address .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI target address: The iSCSI target address: . IPv6 address can be specified as [XX:XX:XX:XX::XX]:port or XX:XX:XX:XX::XX .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.add($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.adapter.discovery.statictarget{ <# .SYNOPSIS List static target addresses .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-iscsi.adapter.discovery.statictarget{ <# .SYNOPSIS Remove a static target .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI target address: The iSCSI target address: . IPv6 address can be specified as [XX:XX:XX:XX::XX]:port or XX:XX:XX:XX::XX .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.statictarget.remove($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.discovery.status{ <# .SYNOPSIS Get the iSCSI adapter discovery status for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.discovery.status.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.firmware{ <# .SYNOPSIS Validate the iSCSI firmware for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER file Path to the firmware file to retrieve information from. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$file, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($file -eq ""){ $file = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.get($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.firmware{ <# .SYNOPSIS Upload the iSCSI firmware for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER file Path to the firmware file to download. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$file, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($file -eq ""){ $file = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.firmware.set($adapter,$file) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.param{ <# .SYNOPSIS Get the iSCSI parameters for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.param.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.param{ <# .SYNOPSIS Set the iSCSI parameter for the iSCSI Host Bus Adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER default Resetting iSCSI parameter setting to default. .PARAMETER key The iSCSI initiator parameter key. .PARAMETER value The iSCSI initiator parameter value. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$default, [string]$key, [string]$value, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($key -eq ""){ $key = [System.Management.Automation.Language.NullString]::Value } If ($value -eq ""){ $value = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.param.set($adapter,$default,$key,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.adapter.target{ <# .SYNOPSIS List iSCSI targets. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.target.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.adapter.target.portal{ <# .SYNOPSIS List iSCSI target portals. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.list($adapter,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.target.portal.auth.chap{ <# .SYNOPSIS Get iSCSI CHAP authentication on a target .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI target address: .PARAMETER direction The iSCSI authentication direction ( [uni, mutual]) The iSCSI authentication direction. Options are: [uni, mutual] .PARAMETER method The iSCSI authentication method ( [chap]) The iSCSI authentication method. Options are: [chap] .PARAMETER name The iSCSI target name: .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$direction, [string]$method, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($direction -eq ""){ $direction = [System.Management.Automation.Language.NullString]::Value } If ($method -eq ""){ $method = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.get($adapter,$address,$direction,$method,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.target.portal.auth.chap{ <# .SYNOPSIS Set the iSCSI CHAP authentication for the iSCSI Target. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI target address: .PARAMETER authname The iSCSI authentication name .PARAMETER default Resetting iSCSI authentication setting to default. .PARAMETER direction The iSCSI authentication direction ( [uni, mutual]) The iSCSI authentication direction. Options are: [uni, mutual] .PARAMETER inherit Inheriting iSCSI authentication setting from parent. .PARAMETER level The iSCSI authentication level ( [prohibited, discouraged, preferred, required]) The iSCSI authentication level. Options are: [prohibited, discouraged, preferred, required] .PARAMETER name The iSCSI target name: .PARAMETER secret The iSCSI authentication password .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$authname, [System.Nullable[boolean]]$default, [string]$direction, [System.Nullable[boolean]]$inherit, [string]$level, [string]$name, [string]$secret, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($authname -eq ""){ $authname = [System.Management.Automation.Language.NullString]::Value } If ($direction -eq ""){ $direction = [System.Management.Automation.Language.NullString]::Value } If ($level -eq ""){ $level = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } If ($secret -eq ""){ $secret = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.auth.chap.set($adapter,$address,$authname,$default,$direction,$inherit,$level,$name,$secret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.adapter.target.portal.param{ <# .SYNOPSIS Get iSCSI parameter on a target .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI target address: .PARAMETER name The iSCSI target name: .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.get($adapter,$address,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.adapter.target.portal.param{ <# .SYNOPSIS Set the iSCSI parameter for the iSCSI Target. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER address The iSCSI target address: .PARAMETER default Resetting iSCSI parameter setting to default. .PARAMETER inherit Inheriting iSCSI parameter setting from parent. .PARAMETER key The iSCSI parameter key .PARAMETER name The iSCSI target name: .PARAMETER value The iSCSI parameter value .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$address, [System.Nullable[boolean]]$default, [System.Nullable[boolean]]$inherit, [string]$key, [string]$name, [string]$value, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($address -eq ""){ $address = [System.Management.Automation.Language.NullString]::Value } If ($key -eq ""){ $key = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } If ($value -eq ""){ $value = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.adapter.target.portal.param.set($adapter,$address,$default,$inherit,$key,$name,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.ibftboot{ <# .SYNOPSIS Get iSCSI IBFT Boot details. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.ibftboot.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function import-iscsi.ibftboot{ <# .SYNOPSIS Import iSCSI target configuration from iBFT to ESX iSCSI initiators. The boot target recorded in iBFT is added to all the eligible 'dependent' iSCSI adapters. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.ibftboot.import() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.logicalnetworkportal{ <# .SYNOPSIS List Logical Network Portals for iSCSI Adapter .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.logicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-iscsi.networkportal{ <# .SYNOPSIS Add a network portal for iSCSI adapter .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER force The force flag (force add of iSCSI vmknic even it's not compatible for iscsi multipathing) .PARAMETER nic The iSCSI network portal (bound vmknic) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$force, [string]$nic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($nic -eq ""){ $nic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.add($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.networkportal{ <# .SYNOPSIS List Network Portal for iSCSI Adapter .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-iscsi.networkportal{ <# .SYNOPSIS Remove a network portal for iSCSI adapter .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER force The force flag (force removal of iSCSI vmknic when sessions are active using it) .PARAMETER nic The iSCSI network portal (bound vmknic) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$force, [string]$nic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($nic -eq ""){ $nic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.remove($adapter,$force,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.networkportal.ipconfig{ <# .SYNOPSIS Get iSCSI network portal ip configuration Get iSCSI network portal ipv4 configuration .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER nic The iSCSI network portal (vmknic) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$nic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($nic -eq ""){ $nic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.networkportal.ipconfig{ <# .SYNOPSIS Set iSCSI network portal IP configuration Set iSCSI network portal IPv4 configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER dns1 The iSCSI network portal primary DNS address .PARAMETER dns2 The iSCSI network portal secondary DNS address .PARAMETER gateway The iSCSI network portal gateway address The iSCSI network portal IPv4 gateway address .PARAMETER ip The iSCSI network portal IP address The iSCSI network portal IPv4 address .PARAMETER nic The iSCSI network portal (vmknic) .PARAMETER subnet The iSCSI network portal subnet mask The iSCSI network portal IPv4 subnet mask .PARAMETER enable Enable/Disable IPv4. All other options will be ignored if IPv4 is being disabled. .PARAMETER enabledhcpv4 Enable/Disable IPv4 configuration using DHCPv4. If DHCPv4 is being enabled, static configuration parameters (ip,subnet,gateway,dns1,dns2) are ignored. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$dns1, [string]$dns2, [string]$gateway, [string]$ip, [string]$nic, [string]$subnet, [System.Nullable[boolean]]$enable, [System.Nullable[boolean]]$enabledhcpv4, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($dns1 -eq ""){ $dns1 = [System.Management.Automation.Language.NullString]::Value } If ($dns2 -eq ""){ $dns2 = [System.Management.Automation.Language.NullString]::Value } If ($gateway -eq ""){ $gateway = [System.Management.Automation.Language.NullString]::Value } If ($ip -eq ""){ $ip = [System.Management.Automation.Language.NullString]::Value } If ($nic -eq ""){ $nic = [System.Management.Automation.Language.NullString]::Value } If ($subnet -eq ""){ $subnet = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($enable -ne $Null) -or ($enabledhcpv4 -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipconfig.set($adapter,$dns1,$dns2,$enable,$enabledhcpv4,$gateway,$ip,$nic,$subnet) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.networkportal.ipv6config{ <# .SYNOPSIS Get iSCSI network portal ipv6 configuration .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipv6config.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.networkportal.ipv6config{ <# .SYNOPSIS Set iSCSI network portal IPv6 configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER enable Enable/Disable IPv6 .PARAMETER enabledhcpv6 Enable/Disable IPv6 configuration using DHCPv6 .PARAMETER enablelinklocalautoconfiguration Enable/Disable auto configuration of linklocal address .PARAMETER enablerouteradvertisement Enable/Disable IPv6 configuration using Router Advertisement .PARAMETER gateway6 The iSCSI network portal IPv6 gateway address .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$enable, [System.Nullable[boolean]]$enabledhcpv6, [System.Nullable[boolean]]$enablelinklocalautoconfiguration, [System.Nullable[boolean]]$enablerouteradvertisement, [string]$gateway6, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($gateway6 -eq ""){ $gateway6 = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipv6config.set($adapter,$enable,$enabledhcpv6,$enablelinklocalautoconfiguration,$enablerouteradvertisement,$gateway6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-iscsi.networkportal.ipv6config.address{ <# .SYNOPSIS Add IPv6 addresses to the given iSCSI network portal. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER addresslist An IPv6 address to add in X:X:X::/X format. Multiple addresses can be provided using format -a address1 -a address2 -a address3. .PARAMETER removeallexisting Remove all existing routable IPv6 addresses before adding the addresses specified by --address-list. If this flag is passed and --address-list is empty, all existing routable addresses are removed. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string[]]$addresslist, [System.Nullable[boolean]]$removeallexisting, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipv6config.address.add($adapter,$addresslist,$removeallexisting) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.networkportal.ipv6config.address{ <# .SYNOPSIS List the IPv6 addresses assigned to the iSCSI network portal. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipv6config.address.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-iscsi.networkportal.ipv6config.address{ <# .SYNOPSIS Remove IPv6 addresses from the given iSCSI network portal. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER addresslist An IPv6 address to remove in X:X:X::/X format. Multiple addresses can be provided using format -a address1 -a address2 -a address3. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string[]]$addresslist, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.iscsi.networkportal.ipv6config.address.remove($adapter,$addresslist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.physicalnetworkportal{ <# .SYNOPSIS List Physical Network Portal for iSCSI Adapter .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.physicalnetworkportal.param{ <# .SYNOPSIS Get network parameters on a Physical Network Portal (vmnic) .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER nic The physical network portal name: .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$nic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($nic -eq ""){ $nic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.get($adapter,$nic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.physicalnetworkportal.param{ <# .SYNOPSIS Set network parameter on a Physical Network Portal .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER enabled Enable or disable a Physical Network Portal option .PARAMETER nic The physical network portal name: .PARAMETER option The network parameter option The network parameter option. Supported options are [MTU, ArpRedirect]. .PARAMETER value Input value for a Physical Network Portal option (use 0/1 for bool, and number for int) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$enabled, [string]$nic, [string]$option, [System.Nullable[long]]$value, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($nic -eq ""){ $nic = [System.Management.Automation.Language.NullString]::Value } If ($option -eq ""){ $option = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$enabled,$nic,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { If(($value -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.iscsi.physicalnetworkportal.param.set($adapter,$nic,$option,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.plugin{ <# .SYNOPSIS List IMA plugins. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER plugin The IMA plugin file name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$plugin, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($plugin -eq ""){ $plugin = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.plugin.list($adapter,$plugin) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-iscsi.session{ <# .SYNOPSIS Login sessions on current iSCSI configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER isid The isid of a session to duplicate for login. .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$isid, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($isid -eq ""){ $isid = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.session.add($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.session{ <# .SYNOPSIS List iSCSI Sessions. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER isid The iSCSI session identifier. .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$isid, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($isid -eq ""){ $isid = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.session.list($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-iscsi.session{ <# .SYNOPSIS Logout sessions on current iSCSI configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER isid The isid of a session to duplicate for login. .PARAMETER name The name of the target to login to. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$isid, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($isid -eq ""){ $isid = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.session.remove($adapter,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-iscsi.session.connection{ <# .SYNOPSIS List iSCSI connections. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter The iSCSI adapter name. .PARAMETER cid The iSCSI connection identifier(CID). .PARAMETER isid The iSCSI session identifier(ISID). .PARAMETER name The iSCSI target name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [string]$cid, [string]$isid, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($cid -eq ""){ $cid = [System.Management.Automation.Language.NullString]::Value } If ($isid -eq ""){ $isid = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.session.connection.list($adapter,$cid,$isid,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-iscsi.software{ <# .SYNOPSIS Software iSCSI information. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.software.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-iscsi.software{ <# .SYNOPSIS Enable or disable software iSCSI. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled Enable or disable the module. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.iscsi.software.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function ping-network.diag{ <# .SYNOPSIS Send ICMP echo requests to network hosts. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER count Specify the number of packets to send. .PARAMETER debug2 VMKPing debug mode. .PARAMETER df Set DF bit on IPv4 packets. .PARAMETER host2 Specify the host to send packets to. Specify the host to send packets to. This parameter is required when not executing ping in debug mode (-D) .PARAMETER interface Specify the outgoing interface. .PARAMETER interval Set the interval for sending packets in seconds. .PARAMETER ipv4 Ping with ICMPv4 echo requests. .PARAMETER ipv6 Ping with ICMPv6 echo requests. .PARAMETER nexthop Override the system's default route selection, in dotted quad notation. (IPv4 only. Requires interface option) .PARAMETER size Set the payload size of the packets to send. .PARAMETER ttl Set IPv4 Time To Live or IPv6 Hop Limit .PARAMETER wait Set the timeout to wait if no responses are received in seconds. .PARAMETER netstack Specify the TCP/IP netstack which the interface resides on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$count, [System.Nullable[boolean]]$debug2, [System.Nullable[boolean]]$df, [string]$host2, [string]$interface, [System.Nullable[long]]$interval, [System.Nullable[boolean]]$ipv4, [System.Nullable[boolean]]$ipv6, [string]$nexthop, [System.Nullable[long]]$size, [System.Nullable[long]]$ttl, [System.Nullable[long]]$wait, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($host2 -eq ""){ $host2 = [System.Management.Automation.Language.NullString]::Value } If ($interface -eq ""){ $interface = [System.Management.Automation.Language.NullString]::Value } If ($nexthop -eq ""){ $nexthop = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.diag.ping($count,$debug2,$df,$host2,$interface,$interval,$ipv4,$ipv6,$netstack,$nexthop,$size,$ttl,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.fence{ <# .SYNOPSIS Get all fence switch info on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.fence.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.fence.network{ <# .SYNOPSIS Get all fence network info on the vds. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER fenceid The fence id used to retrieve fence info. .PARAMETER vdsname The vds name used to retrieve fence info. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$fenceid, [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.fence.network.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.fence.network.bte{ <# .SYNOPSIS Get all fence network bridge table entries information .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER fenceid The fence id used to retrieve fence info. .PARAMETER vdsname The vds name used to retrieve fence info. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$fenceid, [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.fence.network.bte.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.fence.network.port{ <# .SYNOPSIS Get all fence port info on the fence network. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER fenceid The fence id used to retrieve fence info. .PARAMETER vdsname The vds name used to retrieve fence info. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$fenceid, [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.fence.network.port.list($fenceid,$vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.firewall{ <# .SYNOPSIS Get the firewall status. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function load-network.firewall{ <# .SYNOPSIS Load firewall module and rulesets configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.load() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function refresh-network.firewall{ <# .SYNOPSIS Load ruleset configuration for firewall. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.refresh() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.firewall{ <# .SYNOPSIS Set firewall enabled status and default action. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER defaultaction Set to true to set defaultaction PASS, set to false to DROP. .PARAMETER enabled Set to true to enable the firewall, set to false to disable the firewall. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$defaultaction, [System.Nullable[boolean]]$enabled, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.set($defaultaction,$enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unload-network.firewall{ <# .SYNOPSIS Allow unload firewall module. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.unload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.firewall.ruleset{ <# .SYNOPSIS List the rulesets in firewall. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rulesetid List configuration for specfic ruleset .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$rulesetid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($rulesetid -eq ""){ $rulesetid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.ruleset.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.firewall.ruleset{ <# .SYNOPSIS Set firewall ruleset status (allowedAll flag and enabled status). .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER allowedall Set to true to allowed all ip, set to false to use allowed ip list. .PARAMETER enabled Set to true to enable ruleset, set to false to disable it. .PARAMETER rulesetid The label of the ruleset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$allowedall, [System.Nullable[boolean]]$enabled, [string]$rulesetid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($rulesetid -eq ""){ $rulesetid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.ruleset.set($allowedall,$enabled,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.firewall.ruleset.allowedip{ <# .SYNOPSIS Add allowed ip address/range to the ruleset ruleset. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ipaddress Allowed ip address/range for the ruleset. .PARAMETER rulesetid The label of the ruleset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$ipaddress, [string]$rulesetid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ipaddress -eq ""){ $ipaddress = [System.Management.Automation.Language.NullString]::Value } If ($rulesetid -eq ""){ $rulesetid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.add($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.firewall.ruleset.allowedip{ <# .SYNOPSIS list allowed ip addresses for rulesets. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rulesetid The label of the ruleset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$rulesetid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($rulesetid -eq ""){ $rulesetid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.firewall.ruleset.allowedip{ <# .SYNOPSIS Remove allowed ip address/range from the ruleset. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ipaddress Allowed ip address/range for the ruleset. .PARAMETER rulesetid The label of the ruleset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$ipaddress, [string]$rulesetid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ipaddress -eq ""){ $ipaddress = [System.Management.Automation.Language.NullString]::Value } If ($rulesetid -eq ""){ $rulesetid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.ruleset.allowedip.remove($ipaddress,$rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.firewall.ruleset.rule{ <# .SYNOPSIS List the rules of each ruleset in firewall. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rulesetid List rules for specfic ruleset .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$rulesetid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($rulesetid -eq ""){ $rulesetid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.firewall.ruleset.rule.list($rulesetid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.ip{ <# .SYNOPSIS Get global IP settings .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.ip{ <# .SYNOPSIS Update global IP settings .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ipv6enabled Enable or disable IPv6 (Reboot Required) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ipv6enabled, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.set($ipv6enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.connection{ <# .SYNOPSIS List active TCP/IP connections .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER type Connection type : [ip, tcp, udp, all] .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$type, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.connection.list($type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.connection.list($netstack,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.dns.search{ <# .SYNOPSIS Add a search domain to the list of domains to be searched when trying to resolve an host name on the ESXi host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER domain The string name of a domain to add to the list of search domains. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$domain, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($domain -eq ""){ $domain = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.add($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.dns.search.add($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.dns.search{ <# .SYNOPSIS List the search domains currently configured on the ESXi host in the order in which they will be used when searching. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.dns.search.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.dns.search.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.dns.search{ <# .SYNOPSIS Remove a search domain from the list of domains to be searched when trying to resolve an host name on the ESXi host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER domain The string name of a domain to remove from the list of search domains. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$domain, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($domain -eq ""){ $domain = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.dns.search.remove($domain,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.dns.server{ <# .SYNOPSIS Add a new DNS server to the end of the list of DNS servers to use for this ESXi host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER server The IP address (v4 or v6) of the DNS server to add to the DNS server list. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$server, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($server -eq ""){ $server = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.add($server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.dns.server.add($netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.dns.server{ <# .SYNOPSIS Print a list of the DNS server currently configured on the system in the order in which they will be used. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.dns.server.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.dns.server.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.dns.server{ <# .SYNOPSIS Remove a DNS server from the list of DNS servers to use for this ESXi host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER all .PARAMETER server .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$all, [string]$server, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($server -eq ""){ $server = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.dns.server.remove($all,$netstack,$server) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.interface{ <# .SYNOPSIS Add a new VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to create. This name must be in the form vmkX, where X is a number 0-99 The name of the VMkernel network interface to create. This name must be in the form vmkX, where X is a number 0-255 .PARAMETER macaddress Set the MAC address for the newly created VMkernel network interface. .PARAMETER mtu Set the MTU setting for a given VMkernel network interface on creation .PARAMETER portgroupname The name of the port group to add this VMkernel network interface to. This option is required. The name of the vswitch port group to add this VMkernel network interface to. .PARAMETER dvportid DVPort ID of the connection point. This requires --dvs-name to be given in the same command .PARAMETER dvsname DVSwitch name of the connection point. This requires --dvport-id to be given in the same command .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$macaddress, [System.Nullable[long]]$mtu, [string]$portgroupname, [string]$dvportid, [string]$dvsname, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($macaddress -eq ""){ $macaddress = [System.Management.Automation.Language.NullString]::Value } If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } If ($dvportid -eq ""){ $dvportid = [System.Management.Automation.Language.NullString]::Value } If ($dvsname -eq ""){ $dvsname = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.add($dvportid,$dvsname,$interfacename,$macaddress,$mtu,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.interface{ <# .SYNOPSIS This command will list the VMkernel network interfaces currently known to the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance; if unspecified, consider all netstack instances .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.interface{ <# .SYNOPSIS Remove a new VMkernel network interface from the ESXi host. Remove a VMkernel network interface from the ESXi host. A VMKernel network interface can be uniquely specified by --interface-name or --portgroup-name or --dvs-name/--dvport-id. i.e. Providing its name or its connection point are two ways to uniquely specify a VMKernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to remove. This name must be in the form vmkX, where X is a number 0-99 The name of the VMkernel network interface to remove. This name must be in the form vmkX, where X is a number 0-255 .PARAMETER dvportid DVPort ID of the connection point. This requires --dvs-name to be given in the same command .PARAMETER dvsname DVSwitch name of the connection point. This requires --dvport-id to be given in the same command .PARAMETER portgroupname The name of the vswitch port group to delete this VMkernel network interface from. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$dvportid, [string]$dvsname, [string]$portgroupname, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($dvportid -eq ""){ $dvportid = [System.Management.Automation.Language.NullString]::Value } If ($dvsname -eq ""){ $dvsname = [System.Management.Automation.Language.NullString]::Value } If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($dvportid -ne $Null) -or ($dvsname -ne $Null) -or ($portgroupname -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.remove($dvportid,$dvsname,$interfacename,$netstack,$portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.ip.interface{ <# .SYNOPSIS This command sets the enabled status and MTU size of a given IP interface .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled Set to true to enable the interface, set to false to disable it. .PARAMETER interfacename The name of the interface to apply the configurations. .PARAMETER mtu The MTU size of the IP interface. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [string]$interfacename, [System.Nullable[long]]$mtu, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.set($enabled,$interfacename,$mtu) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.ip.interface.ipv4{ <# .SYNOPSIS Get IPv4 settings for VMkernel network interfaces. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to limit the output of this command to. .PARAMETER netstack The network stack instance; if unspecified, consider all netstack instances .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.ip.interface.ipv4{ <# .SYNOPSIS Configure IPv4 setting for a given VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to set IPv4 settings for. This name must be an interface listed in the interface list command. .PARAMETER ipv4 The static IPv4 address for this interface. .PARAMETER netmask The static IPv4 netmask for this interface. .PARAMETER peerdns A boolean value to indicate if the system should use the DNS settings published via DHCP for this interface. .PARAMETER type IPv4 Address type : dhcp: Use DHCP to aquire IPv4 setting for this interface. none: Remove IPv4 settings form this interface. static: Set Static IPv4 information for this interface. Requires --ipv4 and --netmask options. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$ipv4, [string]$netmask, [System.Nullable[boolean]]$peerdns, [string]$type, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($ipv4 -eq ""){ $ipv4 = [System.Management.Automation.Language.NullString]::Value } If ($netmask -eq ""){ $netmask = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv4.set($interfacename,$ipv4,$netmask,$peerdns,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.ip.interface.ipv6{ <# .SYNOPSIS Get IPv6 settings for VMkernel network interfaces. This does not include the IPv6 addresses which can be found in the listipv6 command .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to limit the output of this command to. .PARAMETER netstack The network stack instance; if unspecified, consider all netstack instances .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.get($interfacename,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.ip.interface.ipv6{ <# .SYNOPSIS Configure IPv6 settings for a given VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabledhcpv6 Setting this value to true will enable DHCPv6 on this interface and attempt to aquire an IPv6 address from the network .PARAMETER enablerouteradv Setting this value to true will enable IPv6 Router Advertised IPv6 addresses to be added to this interface from any routers broadcasting on the local network. .PARAMETER interfacename The name of the VMkernel network interface to set IPv6 settings for. This name must be an interface listed in the interface list command. .PARAMETER peerdns A boolean value to indicate if the system should use the DNS settings published via DHCPv6 for this interface. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabledhcpv6, [System.Nullable[boolean]]$enablerouteradv, [string]$interfacename, [System.Nullable[boolean]]$peerdns, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.set($enabledhcpv6,$enablerouteradv,$interfacename,$peerdns) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.interface.ipv6.address{ <# .SYNOPSIS Add a static IPv6 address to a given VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to add a static IPv6 address to. This name must be an interface listed in the interface list command. .PARAMETER ipv6 The IPv6 address to add to the given VMkernel network interface. This must be in X:X:X::/X format .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$ipv6, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($ipv6 -eq ""){ $ipv6 = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.add($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.interface.ipv6.address{ <# .SYNOPSIS This command will list all of the IPv6 addresses currently assigned to the system .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to limit the output of this command to. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.list($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.interface.ipv6.address{ <# .SYNOPSIS Remove an IPv6 address from a given VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to remove an IPv6 address from. This name must be an interface listed in the interface list command. .PARAMETER ipv6 The IPv6 address to remove from the given VMkernel network interface. This must be in X:X:X::/X format .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$ipv6, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($ipv6 -eq ""){ $ipv6 = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.ipv6.address.remove($interfacename,$ipv6) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.interface.tag{ <# .SYNOPSIS Adds a tag on a given VMkernel network interface. Adds a tag on a given VMkernel network interface. Supported tags are: Management, VMotion, faultToleranceLogging, vSphereReplication, vSphereReplicationNFC, vSphereProvisioning, VSAN .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface on which tags should be set. This name must be an interface listed in the interface list command. .PARAMETER tagname Tag name to assign to the interface .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$tagname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($tagname -eq ""){ $tagname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.tag.add($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.ip.interface.tag{ <# .SYNOPSIS Gets the tags set on the given VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename Name of vmknic whose tags are to be read .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.tag.get($interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.interface.tag{ <# .SYNOPSIS Removes a tag on a given VMkernel network interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface from which tags should be removed. This name must be an interface listed in the interface list command. .PARAMETER tagname Tag name to assign to the interface .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$tagname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($tagname -eq ""){ $tagname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.interface.tag.remove($interfacename,$tagname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.ip.ipsec{ <# .SYNOPSIS Set IKE config file path. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ikeconf Pass an IKE config path to IKE daemon, this will copy the config to IKE config and restart IKE daemons .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$ikeconf, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ikeconf -eq ""){ $ikeconf = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.set($ikeconf) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.ipsec.sa{ <# .SYNOPSIS Add a Security Association. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER encryptionalgorithm Encryption algorithm for the Security Association. Should be one in set [null, 3des-cbc, aes128-cbc]. .PARAMETER encryptionkey Encryption key(ASCII or hex). Length of hex key is dependent upon algorithm used. Required when a encryption algorithm has been specified. .PARAMETER integrityalgorithm Integrity algorithm for the Security Association. Should be one in set [hmac-sha1, hmac-sha2-256]. .PARAMETER integritykey Integrity key(ASCII or hex). Length of hex key is dependent upon algorithm used. .PARAMETER sadestination Ipv6 address of Security Association destination. Can be specified as 'any' or a correct IPv6 address. .PARAMETER samode Security Association mode. Should be one in set [transport, tunnel]. .PARAMETER saname Name for the Security Association to be added. .PARAMETER sasource Ipv6 address of Security Association source. Can be specified as 'any' or a correct IPv6 address. .PARAMETER saspi SPI value for the Security Association(hex). .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$encryptionalgorithm, [string]$encryptionkey, [string]$integrityalgorithm, [string]$integritykey, [string]$sadestination, [string]$samode, [string]$saname, [string]$sasource, [string]$saspi, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($encryptionalgorithm -eq ""){ $encryptionalgorithm = [System.Management.Automation.Language.NullString]::Value } If ($encryptionkey -eq ""){ $encryptionkey = [System.Management.Automation.Language.NullString]::Value } If ($integrityalgorithm -eq ""){ $integrityalgorithm = [System.Management.Automation.Language.NullString]::Value } If ($integritykey -eq ""){ $integritykey = [System.Management.Automation.Language.NullString]::Value } If ($sadestination -eq ""){ $sadestination = [System.Management.Automation.Language.NullString]::Value } If ($samode -eq ""){ $samode = [System.Management.Automation.Language.NullString]::Value } If ($saname -eq ""){ $saname = [System.Management.Automation.Language.NullString]::Value } If ($sasource -eq ""){ $sasource = [System.Management.Automation.Language.NullString]::Value } If ($saspi -eq ""){ $saspi = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.add($encryptionalgorithm,$encryptionkey,$integrityalgorithm,$integritykey,$sadestination,$samode,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.ipsec.sa{ <# .SYNOPSIS List configured Security Associations .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.ipsec.sa{ <# .SYNOPSIS Operation to remove Security Association(s) .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER removeall Set to remove all Security Associations. .PARAMETER sadestination Ipv6 address of Security Association destination. This option needs to be specified when removing an auto SA. .PARAMETER saname Name for the Security Association to be removed. Specify 'auto' to remove an auto SA. .PARAMETER sasource Ipv6 address of Security Association source. This option needs to be specified when removing an auto SA. .PARAMETER saspi SPI value for the Security Association (hex). This option needs to be specified when removing an auto SA .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$removeall, [string]$sadestination, [string]$saname, [string]$sasource, [string]$saspi, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($sadestination -eq ""){ $sadestination = [System.Management.Automation.Language.NullString]::Value } If ($saname -eq ""){ $saname = [System.Management.Automation.Language.NullString]::Value } If ($sasource -eq ""){ $sasource = [System.Management.Automation.Language.NullString]::Value } If ($saspi -eq ""){ $saspi = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.sa.remove($removeall,$sadestination,$saname,$sasource,$saspi) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.ipsec.sp{ <# .SYNOPSIS Add a Security Policy. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER action Action for Security Policy. Should be one in set [none, discard, ipsec]. .PARAMETER destinationport Destination Port for Security Policy. '0' stands for 'any' .PARAMETER flowdirection Flow direction for Security Policy. Should be one in set [in, out]. .PARAMETER saname Name for the Security Association. Not being Specified lets vmkernel automatically choose an Security Association. If no applicable Security Association exists, then vmkernel may request one using IKE. .PARAMETER sourceport Source Port for Security Policy. '0' stands for 'any' .PARAMETER spdestination Ipv6 address and prefix length of Security Policy destination. Can be specified as 'any' or a correct Ipv6 network address. .PARAMETER spmode Security Policy mode. Should be one in set [transport, tunnel]. .PARAMETER spname Name for the Security Policy to be added. .PARAMETER spsource Ipv6 address and prefix length of Security Policy source. Can be specified as 'any' or a correct IPv6 network address. .PARAMETER upperlayerprotocol Upper layer protocol for Security Policy, Should be one in set [any, tcp, udp, icmp6]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$action, [System.Nullable[long]]$destinationport, [string]$flowdirection, [string]$saname, [System.Nullable[long]]$sourceport, [string]$spdestination, [string]$spmode, [string]$spname, [string]$spsource, [string]$upperlayerprotocol, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($action -eq ""){ $action = [System.Management.Automation.Language.NullString]::Value } If ($flowdirection -eq ""){ $flowdirection = [System.Management.Automation.Language.NullString]::Value } If ($saname -eq ""){ $saname = [System.Management.Automation.Language.NullString]::Value } If ($spdestination -eq ""){ $spdestination = [System.Management.Automation.Language.NullString]::Value } If ($spmode -eq ""){ $spmode = [System.Management.Automation.Language.NullString]::Value } If ($spname -eq ""){ $spname = [System.Management.Automation.Language.NullString]::Value } If ($spsource -eq ""){ $spsource = [System.Management.Automation.Language.NullString]::Value } If ($upperlayerprotocol -eq ""){ $upperlayerprotocol = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.add($action,$destinationport,$flowdirection,$saname,$sourceport,$spdestination,$spmode,$spname,$spsource,$upperlayerprotocol) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.ipsec.sp{ <# .SYNOPSIS List configured Security Policys .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.ipsec.sp{ <# .SYNOPSIS Operation to remove Security Policy .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER removeall Set to remove all Security Policys .PARAMETER spname Name for the Security Policy to be removed. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$removeall, [string]$spname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($spname -eq ""){ $spname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.ipsec.sp.remove($removeall,$spname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.neighbor{ <# .SYNOPSIS List ARP table entries .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER version2 IP version : [4, 6, all] .PARAMETER interfacename The name of the VMkernel network interface to limit the output of this command to; if unspecified, list neighbors on all interfaces. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$version2, [string]$interfacename, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($version2 -eq ""){ $version2 = [System.Management.Automation.Language.NullString]::Value } If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($interfacename -ne $Null) -or ($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.neighbor.list($version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.neighbor.list($interfacename,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.neighbor{ <# .SYNOPSIS Remove ARP table entries .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER interfacename The name of the VMkernel network interface to remove the neighbor entry from. If not specified, neighbor will be removed from all interfaces .PARAMETER neighboraddr The IPv4/IPv6 address of the neighbor. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER version2 IP version : [4, 6] .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$interfacename, [string]$neighboraddr, [string]$netstack, [string]$version2, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($neighboraddr -eq ""){ $neighboraddr = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } If ($version2 -eq ""){ $version2 = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.neighbor.remove($interfacename,$neighboraddr,$netstack,$version2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.netstack{ <# .SYNOPSIS Add a new Netstack Instance. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER disabled Create the netstack instance only in config i.e. in disabled state. Does not create in kernel. .PARAMETER netstack The network stack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$disabled, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.netstack.add($disabled,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.ip.netstack{ <# .SYNOPSIS Get runtime/configuration settings for a given Netstack Instance. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.netstack.get($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.netstack{ <# .SYNOPSIS This command will list the VMkernel Netstack instances currently known to the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.netstack.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.netstack{ <# .SYNOPSIS Remove a new Netstack Instance. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.netstack.remove($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.ip.netstack{ <# .SYNOPSIS Configure settings for a given Netstack Instance. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ccalgo The TCP Congestion Contol Algorithm for this netstack instance (not applied to existing connections).: cubic: Set cubic as the algorithm newreno: Set newreno as the algorithm .PARAMETER enable Enable the netstack instance (create in kernel) .PARAMETER ipv6enabled To enable IPv6 for this netstack instance (aplied only during netstack creation). .PARAMETER maxconn The maximum number of connections for this netstack instance (applied only during netstack creation). .PARAMETER name The name for this netstack instance. .PARAMETER netstack The network stack instance. This name must be an interface listed in the netstack list command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$ccalgo, [System.Nullable[boolean]]$enable, [System.Nullable[boolean]]$ipv6enabled, [System.Nullable[long]]$maxconn, [string]$name, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ccalgo -eq ""){ $ccalgo = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.netstack.set($ccalgo,$enable,$ipv6enabled,$maxconn,$name,$netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.route.ipv4{ <# .SYNOPSIS Add IPv4 route to the VMkernel. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER gateway The Ipv4 address of the gateway through which a route to be added. .PARAMETER network The Ipv4 address and prefix length of the network to add the route to. Specify 'default' to indicate the default network. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$gateway, [string]$network, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($gateway -eq ""){ $gateway = [System.Management.Automation.Language.NullString]::Value } If ($network -eq ""){ $network = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.route.ipv4.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.route.ipv4{ <# .SYNOPSIS List configured IPv4 routes .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.route.ipv4.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.route.ipv4{ <# .SYNOPSIS Remove IPv4 route .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER gateway The Ipv4 address of the gateway through which a route to be removed .PARAMETER network The Ipv4 address and prefix length of the network to remove the route from. Specify 'default' to indicate the default network. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$gateway, [string]$network, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($gateway -eq ""){ $gateway = [System.Management.Automation.Language.NullString]::Value } If ($network -eq ""){ $network = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.route.ipv4.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.ip.route.ipv6{ <# .SYNOPSIS Add IPv6 route to the VMkernel. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER gateway The Ipv6 address of the gateway through which a route to be added. .PARAMETER network The Ipv6 address and prefix length of the network to add the route to. Specify 'default' to indicate the default network. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$gateway, [string]$network, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($gateway -eq ""){ $gateway = [System.Management.Automation.Language.NullString]::Value } If ($network -eq ""){ $network = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.route.ipv6.add($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.ip.route.ipv6{ <# .SYNOPSIS List configured IPv6 routes .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.route.ipv6.list($netstack) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.ip.route.ipv6{ <# .SYNOPSIS Remove IPv6 route from the VMkernel .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER gateway The Ipv6 address of the gateway through which a route to be removed .PARAMETER network The Ipv6 address and prefix length of the network to remove the route from. Specify 'default' to indicate the default network. .PARAMETER netstack The network stack instance; if unspecified, use the default netstack instance .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$gateway, [string]$network, [string]$netstack, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($gateway -eq ""){ $gateway = [System.Management.Automation.Language.NullString]::Value } If ($network -eq ""){ $network = [System.Management.Automation.Language.NullString]::Value } If ($netstack -eq ""){ $netstack = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($netstack -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.ip.route.ipv6.remove($gateway,$netstack,$network) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function down-network.nic{ <# .SYNOPSIS Bring down the specified network device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC to configured. This must be one of the cards listed in the nic list command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.down($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic{ <# .SYNOPSIS Get the generic configuration of a network device .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC to configured. This must be one of the cards listed in the nic list command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.nic{ <# .SYNOPSIS This command will list the Physical NICs currently installed and loaded on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic{ <# .SYNOPSIS Set the general options for the specified ethernet device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER auto Set the speed and duplexity settings to autonegotiate. .PARAMETER duplex The duplex to set this NIC to. Acceptable values are : [full, half] The duplex to set this NIC to. Acceptable values are : [full, half] .PARAMETER messagelevel Sets the driver message level. Meaning differ per driver. .PARAMETER nicname The name of the NIC to configured. This must be one of the cards listed in the nic list command. .PARAMETER phyaddress Set the PHY address of the device .PARAMETER port Selects device port. Available device ports are aui: Select aui as the device port bnc: Select bnc as the device port fibre: Select mii as the device port mii: Select mii as the device port tp: Select tp as the device port Selects device port. Available device ports are aui: Select AUI (Attachment Unit Interface) as the device port bnc: Select BNC (Bayonet Neill-Concelman) as the device port da: Select DA (Direct Attach copper) as the device port fibre: Select fibre as the device port mii: Select MII (Media Independent Interface) as the device port tp: Select TP (Twisted Pair) as the device port .PARAMETER speed The speed to set this NIC to. Acceptable values are : [10, 100, 1000, 10000] The speed to set this NIC to, in Mbps. Acceptable values are : [10, 100, 1000, 10000, 20000, 40000] .PARAMETER transceivertype Selects transeiver type. Currently only internal and external can be specified, in the future future types might be added. Available transeiver types are external: Set the transceiver type to external internal: Set the transceiver type to internal .PARAMETER wakeonlan Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable. p Wake on phy activity u wake on unicast messages m Wake on multicast messages b wake on broadcast messages a Wake on ARP g Wake on MagicPacket(tm) s Enable SecureOn(tm) password for MagicPacket(tm) Sets Wake-on-LAN options. Not all devices support this. The argument to this option is a string of characters specifying which options to enable. p Wake on phy activity u Wake on unicast messages m Wake on multicast messages b Wake on broadcast messages a Wake on ARP g Wake on MagicPacket(tm) s Enable SecureOn(tm) password for MagicPacket(tm) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$auto, [string]$duplex, [System.Nullable[long]]$messagelevel, [string]$nicname, [System.Nullable[long]]$phyaddress, [string]$port, [System.Nullable[long]]$speed, [string]$transceivertype, [string]$wakeonlan, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($duplex -eq ""){ $duplex = [System.Management.Automation.Language.NullString]::Value } If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } If ($port -eq ""){ $port = [System.Management.Automation.Language.NullString]::Value } If ($transceivertype -eq ""){ $transceivertype = [System.Management.Automation.Language.NullString]::Value } If ($wakeonlan -eq ""){ $wakeonlan = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.set($auto,$duplex,$messagelevel,$nicname,$phyaddress,$port,$speed,$transceivertype,$wakeonlan) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function up-network.nic{ <# .SYNOPSIS Bring up the specified network device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC to configured. This must be one of the cards listed in the nic list command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.up($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.coalesce{ <# .SYNOPSIS Get coalesce parameters .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vmnic The name of pnic to get coalesce parameters .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.coalesce.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.coalesce{ <# .SYNOPSIS Set coalesce parameters on a nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rxmaxframes Maximum number of RX frames driver to process before interrupting. .PARAMETER rxusecs Number of microseconds driver to wait for RX before interrupting. .PARAMETER txmaxframes Maximum number of completed TX frames driver to process before interrupting. .PARAMETER txusecs Number of microseconds driver to wait for completed TX before interrupting. .PARAMETER vmnic Name of vmnic to set coalesce parameters. .PARAMETER adaptiverx enable or disable adaptive RX algorithm in driver. .PARAMETER adaptivetx enable or disable adaptive TX algorithm in driver. .PARAMETER sampleinterval Packet rate sampling internal in seconds for the adaptive coalescing algorithm in driver. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$rxmaxframes, [System.Nullable[long]]$rxusecs, [System.Nullable[long]]$txmaxframes, [System.Nullable[long]]$txusecs, [string]$vmnic, [System.Nullable[boolean]]$adaptiverx, [System.Nullable[boolean]]$adaptivetx, [System.Nullable[long]]$sampleinterval, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($adaptiverx -ne $Null) -or ($adaptivetx -ne $Null) -or ($sampleinterval -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.nic.coalesce.set($rxmaxframes,$rxusecs,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.network.nic.coalesce.set($adaptiverx,$adaptivetx,$rxmaxframes,$rxusecs,$sampleinterval,$txmaxframes,$txusecs,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.cso{ <# .SYNOPSIS Get checksum offload settings .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vmnic The name of pnic to get CSO settings .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.cso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.cso{ <# .SYNOPSIS Set checksum offload settings on a nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable RX/TX checksum offload .PARAMETER vmnic Name of vmnic to set offload settings. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$enable, [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.cso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function change-network.nic.eeprom{ <# .SYNOPSIS Change EEPROM on a nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER file File name of new EEPROM content .PARAMETER magic Magic key of EEPROM .PARAMETER offset Offset of EEPROM to change .PARAMETER value New EEPROM value in double word .PARAMETER vmnic Name of vmnic to change EEPROM. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$file, [System.Nullable[long]]$magic, [System.Nullable[long]]$offset, [System.Nullable[long]]$value, [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($file -eq ""){ $file = [System.Management.Automation.Language.NullString]::Value } If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.eeprom.change($file,$magic,$offset,$value,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function dump-network.nic.eeprom{ <# .SYNOPSIS Dump device EEPROM .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER length Bytes of EEPROM to dump .PARAMETER offset Offset of EEPROM starting to dump .PARAMETER vmnic The name of pnic to dump EEPROM .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$length, [System.Nullable[long]]$offset, [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.eeprom.dump($length,$offset,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function restart-network.nic.negotiate{ <# .SYNOPSIS Restart N-Way negotiation on a nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vmnic Name of vmnic to restart negotiation .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.negotiate.restart($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.nic.pauseParams{ <# .SYNOPSIS List pause parameters of all NICs .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC whose pause parameters should be retrieved. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.pauseParams.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.pauseParams{ <# .SYNOPSIS Set pause parameters for a NIC .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER auto Enable/disable auto negotiation. .PARAMETER nicname Name of NIC whose pause parameters should be set. .PARAMETER rx Enable/disable pause RX flow control. .PARAMETER tx Enable/disable pause TX flow control. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$auto, [string]$nicname, [System.Nullable[boolean]]$rx, [System.Nullable[boolean]]$tx, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.pauseParams.set($auto,$nicname,$rx,$tx) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function dump-network.nic.register{ <# .SYNOPSIS Dump device registers .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vmnic The name of pnic to dump registers .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.register.dump($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.ring.current{ <# .SYNOPSIS Get current RX/TX ring buffer parameters of a NIC .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC whose current RX/TX ring buffer parameters should be retrieved. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.ring.current.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.ring.current{ <# .SYNOPSIS Set current RX/TX ring buffer parameters of a NIC .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC whose current RX/TX ring buffer parameters should be set. .PARAMETER rx Number of ring entries for the RX ring. .PARAMETER rxjumbo Number of ring entries for the RX jumbo ring. .PARAMETER rxmini Number of ring entries for the RX mini ring. .PARAMETER tx Number of ring entries for the TX ring. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [System.Nullable[long]]$rx, [System.Nullable[long]]$rxjumbo, [System.Nullable[long]]$rxmini, [System.Nullable[long]]$tx, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.ring.current.set($nicname,$rx,$rxjumbo,$rxmini,$tx) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.ring.preset{ <# .SYNOPSIS Get preset RX/TX ring buffer parameters of a NIC .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the NIC whose preset RX/TX ring buffer parameters should be retrieved. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.ring.preset.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function run-network.nic.selftest{ <# .SYNOPSIS Run self test .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER online Performing limited set of tests do not inetrrupt normal adapter operation, default is offline .PARAMETER vmnic The name of pnic to dump EEPROM .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$online, [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.selftest.run($online,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.sg{ <# .SYNOPSIS Get scatter-gather settings .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vmnic The name of pnic to get scatter-gather settings .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.sg.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.sg{ <# .SYNOPSIS Set scatter-gatter settings on a nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable Enable/disable sacatter-gather .PARAMETER vmnic Name of vmnic to configure scatter-gather settings. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$enable, [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.sg.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.nic.software{ <# .SYNOPSIS List software simulation settings of all physical NICs currently installed and loaded on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.software.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.software{ <# .SYNOPSIS Enable and disable software simulation settings on a NIC. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER geneveoffload Configure Geneve encapsulation offload software simulation. .PARAMETER highdma Configure high DMA software simulation. .PARAMETER ipv4cso Configure IPv4 checksum offload software simulation. .PARAMETER ipv4tso Configure IPv4 TCP segmentation offload software simulation. .PARAMETER ipv6cso Configure IPv6 checksum offload software simulation. .PARAMETER ipv6csoext Configure IPv6 extend header checksum offload software simulation. .PARAMETER ipv6tso Configure IPv6 TCP segmentation offload software simulation. .PARAMETER ipv6tsoext Configure IPv6 extend header TCP segmentation offload software simulation. .PARAMETER obo Configure offset based encapsulation offload software simulation. .PARAMETER sg Configure scatter gather software simulation. .PARAMETER sgsp Configure scatter gather span multiple pages software simulation. .PARAMETER tagging Configure TX VLAN tagging software simulation. .PARAMETER untagging Configure RX VLAN untagging software simulation. .PARAMETER vmnic Name of the vmnic whose software similation settings should be updated. .PARAMETER vxlanencap Configure VXLAN encapsulation offload software simulation. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$geneveoffload, [System.Nullable[boolean]]$highdma, [System.Nullable[boolean]]$ipv4cso, [System.Nullable[boolean]]$ipv4tso, [System.Nullable[boolean]]$ipv6cso, [System.Nullable[boolean]]$ipv6csoext, [System.Nullable[boolean]]$ipv6tso, [System.Nullable[boolean]]$ipv6tsoext, [System.Nullable[boolean]]$obo, [System.Nullable[boolean]]$sg, [System.Nullable[boolean]]$sgsp, [System.Nullable[boolean]]$tagging, [System.Nullable[boolean]]$untagging, [string]$vmnic, [System.Nullable[boolean]]$vxlanencap, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.network.nic.software.set($geneveoffload,$highdma,$ipv4cso,$ipv4tso,$ipv6cso,$ipv6csoext,$ipv6tso,$ipv6tsoext,$obo,$sg,$sgsp,$tagging,$untagging,$vmnic,$vxlanencap) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.stats{ <# .SYNOPSIS Get NIC statistics for a given interface. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname Name of the NIC to get statistics from. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.tso{ <# .SYNOPSIS Get TCP segmentation offload settings .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vmnic The name of pnic to get TSO settings .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.tso.get($vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.tso{ <# .SYNOPSIS Set TCP segmentation offload settings on a nic .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable TCP segmentation offload .PARAMETER vmnic Name of vmnic to set TSO settings. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$enable, [string]$vmnic, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vmnic -eq ""){ $vmnic = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.tso.set($enable,$vmnic) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.nic.vlan.stats{ <# .SYNOPSIS List VLAN statistics for active VLAN's on the NIC. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname Name of the NIC to get statistics from. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.vlan.stats.get($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.nic.vlan.stats{ <# .SYNOPSIS Enable/disable VLAN statistics collection on the NIC. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled Whether to enable or disable VLAN statistics .PARAMETER nicname Name of the NIC to get statistics from. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.nic.vlan.stats.set($enabled,$nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.port.filter.stats{ <# .SYNOPSIS Filter statistics for a given port. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portid Port ID for the port to get filter statistics. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$portid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.port.filter.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.port.stats{ <# .SYNOPSIS Packet statistics for a given port. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portid Port ID for the port to get statistics. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$portid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.port.stats.get($portid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.sriovnic{ <# .SYNOPSIS This command will list the SRIOV Enabled NICs (PFs) currently installed and loaded on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.sriovnic.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.sriovnic.vf{ <# .SYNOPSIS Get the generic configuration of VFs for SRIOV NIC. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the SRIOV NIC to configured. This must be one of the cards listed in the sriovNic list command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.sriovnic.vf.list($nicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function stats-network.sriovnic.vf{ <# .SYNOPSIS Get statistics for given VF of a SRIOV NIC. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nicname The name of the SRIOV NIC. This must be one of the cards listed in the sriovNic list command. .PARAMETER vfid The VF ID of the virtual function whose stats are to be collected. This must be one of the VF IDs listed in the sriovnic vf list command. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$nicname, [System.Nullable[long]]$vfid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.sriovnic.vf.stats($nicname,$vfid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vm{ <# .SYNOPSIS List networking information for the VM's that have active ports. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vm.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vm.port{ <# .SYNOPSIS List of active ports for a given VM. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER worldid World ID of the VM for listing ports. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$worldid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vm.port.list($worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware{ <# .SYNOPSIS List the VMware vSphere Distributed Switch currently configured on the ESXi host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname Limit the output of this command to only vDS with the given name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.dvs.vmware.lacp.config{ <# .SYNOPSIS Get LACP configuration on DVS .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dvs The name of DVS to get configuration on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dvs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dvs -eq ""){ $dvs = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.config.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function config-network.vswitch.dvs.vmware.lacp.get{ <# .SYNOPSIS Get LACP configuration on DVS .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dvs The name of DVS to get configuration on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dvs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dvs -eq ""){ $dvs = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.config($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function stats-network.vswitch.dvs.vmware.lacp.get{ <# .SYNOPSIS Get LACP stats on DVS uplinks .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dvs The name of DVS to get configuration on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dvs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dvs -eq ""){ $dvs = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.stats($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function status-network.vswitch.dvs.vmware.lacp.get{ <# .SYNOPSIS Get LACP status on DVS .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dvs The name of DVS to get configuration on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dvs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dvs -eq ""){ $dvs = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.get.status($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.dvs.vmware.lacp.stats{ <# .SYNOPSIS Get LACP stats on DVS uplinks .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dvs The name of DVS to get configuration on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dvs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dvs -eq ""){ $dvs = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.stats.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.dvs.vmware.lacp.status{ <# .SYNOPSIS Get LACP status on DVS .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dvs The name of DVS to get configuration on .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dvs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dvs -eq ""){ $dvs = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.status.get($dvs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.dvs.vmware.lacp.timeout{ <# .SYNOPSIS Set long/short timeout for vmnics in one LACP LAG .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER lagid The ID of LAG to be configured. .PARAMETER nicname The nic name. If it is set, then only this vmnic in the lag will be configured. .PARAMETER timeout Set long or short timeout: 1 for short timeout and 0 for long timeout. .PARAMETER vds The name of VDS. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$lagid, [string]$nicname, [System.Nullable[boolean]]$timeout, [string]$vds, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($nicname -eq ""){ $nicname = [System.Management.Automation.Language.NullString]::Value } If ($vds -eq ""){ $vds = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.lacp.timeout.set($lagid,$nicname,$timeout,$vds) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.dvs.vmware.vxlan{ <# .SYNOPSIS Get VXLAN global states on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan{ <# .SYNOPSIS Get VXLAN switches info on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS Name used to list VXLAN DVSwitch info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.dvs.vmware.vxlan.config.stats{ <# .SYNOPSIS Get VXLAN statistics config. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.dvs.vmware.vxlan.config.stats{ <# .SYNOPSIS Config VXLAN statistics. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER level Set to 0 to disable statistics; otherwise enable statistics. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$level, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.config.stats.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network{ <# .SYNOPSIS Get VXLAN network info with specified VDS. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN network info .PARAMETER vxlanid The VXLAN ID used to list VXLAN network info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.arp{ <# .SYNOPSIS Dump VXLAN network ARP table of specified VDS .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN network ARP table .PARAMETER vxlanid The VXLAN ID used to list VXLAN network ARP table .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.network.arp{ <# .SYNOPSIS Reset VXLAN network ARP table .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN network ARP table .PARAMETER vxlanid The VXLAN ID used to reset VXLAN network ARP table .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.arp.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.mac{ <# .SYNOPSIS Dump VXLAN network MAC table of specified VDS .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN network MAC table .PARAMETER vxlanid The VXLAN ID used to list VXLAN network MAC table .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.network.mac{ <# .SYNOPSIS Reset VXLAN network MAC table .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN network MAC table .PARAMETER vxlanid The VXLAN ID used to reset VXLAN network MAC table .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mac.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.mapping{ <# .SYNOPSIS Get VXLAN network mapping info with specified VDS. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN network mapping info .PARAMETER vxlanid The VXLAN ID used to list VXLAN network mapping info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.network.mapping{ <# .SYNOPSIS Reset VXLAN network mapping entries .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN network mapping entries .PARAMETER vxlanid The VXLAN ID used to reset VXLAN network mapping entries .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mapping.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.mtep{ <# .SYNOPSIS Get VXLAN network MTEP table info with specified VDS. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER mtepip Display MTEP info for only one MTEP IP .PARAMETER segmentid Display MTEP info for only one Segment ID .PARAMETER vdsname The VDS name used to list VXLAN network info .PARAMETER vxlanid The VXLAN ID used to list VXLAN network info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$mtepip, [string]$segmentid, [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($mtepip -eq ""){ $mtepip = [System.Management.Automation.Language.NullString]::Value } If ($segmentid -eq ""){ $segmentid = [System.Management.Automation.Language.NullString]::Value } If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.mtep.list($mtepip,$segmentid,$vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.port{ <# .SYNOPSIS Get VXLAN network info with specified VDS. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN network info .PARAMETER vdsportid The VDS Port ID used to list VXLAN network info .PARAMETER vxlanid The VXLAN ID used to list VXLAN network info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [string]$vdsportid, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vdsportid -eq ""){ $vdsportid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.port.stats{ <# .SYNOPSIS Get VXLAN port statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to get VXLAN port statistics info .PARAMETER vdsportid The VDS Port ID used to get VXLAN port statistics info .PARAMETER vxlanid The VXLAN ID used to get VXLAN port statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [string]$vdsportid, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vdsportid -eq ""){ $vdsportid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.list($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.network.port.stats{ <# .SYNOPSIS Reset VXLAN DVSwitch statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN port statistics info .PARAMETER vdsportid The VDS Port ID used to reset VXLAN port statistics info .PARAMETER vxlanid The VXLAN ID used to reset VXLAN port statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [string]$vdsportid, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vdsportid -eq ""){ $vdsportid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.port.stats.reset($vdsname,$vdsportid,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.network.stats{ <# .SYNOPSIS Get VXLAN network statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to get VXLAN network statistics info .PARAMETER vxlanid The VXLAN ID used to get VXLAN network statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.list($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.network.stats{ <# .SYNOPSIS Reset VXLAN DVSwitch statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN network statistics info .PARAMETER vxlanid The VXLAN ID used to reset VXLAN network statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vxlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.network.stats.reset($vdsname,$vxlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.stats{ <# .SYNOPSIS Get VXLAN DVSwitch statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN DVSwitch statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.list($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.stats{ <# .SYNOPSIS Reset VXLAN DVSwitch statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN DVSwitch statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.stats.reset($vdsname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.vmknic{ <# .SYNOPSIS Get VXLAN network info with specified VDS. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to list VXLAN vmknic info .PARAMETER vlanid The VLAN ID used to list VXLAN vmknic info .PARAMETER vmknicip The vmknic IP used to list VXLAN vmknic info .PARAMETER vmknicname The vmknic name used to list VXLAN vmknic info .PARAMETER endpointid The endpoint ID used to list VXLAN vmknic info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vlanid, [string]$vmknicip, [string]$vmknicname, [System.Nullable[long]]$endpointid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vmknicip -eq ""){ $vmknicip = [System.Management.Automation.Language.NullString]::Value } If ($vmknicname -eq ""){ $vmknicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup{ <# .SYNOPSIS Get VXLAN vmknic multicast group info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to get VXLAN vmknic multicast group info .PARAMETER vlanid The VLAN ID used to get VXLAN vmknic multicast group info .PARAMETER vmknicip The vmknic IP used to get VXLAN vmknic multicast group info .PARAMETER vmknicname The vmknic name used to get VXLAN vmknic multicast group info .PARAMETER vmknicid The vmknic ID used to get VXLAN vmknic multicast group info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vlanid, [string]$vmknicip, [string]$vmknicname, [System.Nullable[long]]$vmknicid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vmknicip -eq ""){ $vmknicip = [System.Management.Automation.Language.NullString]::Value } If ($vmknicname -eq ""){ $vmknicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($vmknicid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.list($vdsname,$vmknicid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.dvs.vmware.vxlan.vmknic.stats{ <# .SYNOPSIS Get VXLAN vmknic statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to get VXLAN vmknic statistics info .PARAMETER vlanid The VLAN ID used to get VXLAN vmknic statistics info .PARAMETER vmknicip The vmknic IP used to get VXLAN vmknic statistics info .PARAMETER vmknicname The vmknic name used to get VXLAN vmknic statistics info .PARAMETER endpointid The endpoint ID used to get VXLAN vmknic statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vlanid, [string]$vmknicip, [string]$vmknicname, [System.Nullable[long]]$endpointid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vmknicip -eq ""){ $vmknicip = [System.Management.Automation.Language.NullString]::Value } If ($vmknicname -eq ""){ $vmknicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.list($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-network.vswitch.dvs.vmware.vxlan.vmknic.stats{ <# .SYNOPSIS Reset VXLAN vmknic statistics info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vdsname The VDS name used to reset VXLAN vmknic statistics info .PARAMETER vlanid The VLAN ID used to reset VXLAN vmknic statistics info .PARAMETER vmknicip The vmknic IP used to reset VXLAN vmknic statistics info .PARAMETER vmknicname The vmknic name used to reset VXLAN vmknic statistics info .PARAMETER endpointid The endpoint ID used to reset VXLAN vmknic statistics info .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vdsname, [System.Nullable[long]]$vlanid, [string]$vmknicip, [string]$vmknicname, [System.Nullable[long]]$endpointid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vdsname -eq ""){ $vdsname = [System.Management.Automation.Language.NullString]::Value } If ($vmknicip -eq ""){ $vmknicip = [System.Management.Automation.Language.NullString]::Value } If ($vmknicname -eq ""){ $vmknicname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($vdsname,$vlanid,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($endpointid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.network.vswitch.dvs.vmware.vxlan.vmknic.stats.reset($endpointid,$vdsname,$vmknicip,$vmknicname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.vswitch.standard{ <# .SYNOPSIS Add a new virtual switch to the ESXi networking system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ports The number of ports to to give this newly created virtual switch. Maximum ports per virtual switch is 4096. If no value is given the default value(128) is used. The number of ports is limited by the number of already allocated ports on the host. The system wide port count cannot be greater than 4608. .PARAMETER vswitchname The name of the virtual switch to create. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$ports, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.add($ports,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.standard{ <# .SYNOPSIS List the virtual switches current on the ESXi host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vswitchname Limit the output of this command to only virtual switches with the given name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.list($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.vswitch.standard{ <# .SYNOPSIS Remove a virtual switch from the ESXi networking system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vswitchname The name of the virtual switch to remove. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.remove($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard{ <# .SYNOPSIS This command sets the MTU size and CDP status of a given virtual switch. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER cdpstatus The CDP status of the given virtual switch. It can be 'down', 'listen', 'advertise' or 'both' .PARAMETER mtu The MTU size of the given virtual switch. .PARAMETER vswitchname The name of virtual switch to apply the configurations. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$cdpstatus, [System.Nullable[long]]$mtu, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($cdpstatus -eq ""){ $cdpstatus = [System.Management.Automation.Language.NullString]::Value } If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.set($cdpstatus,$mtu,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.standard.policy.failover{ <# .SYNOPSIS Get the failover policy settings governing the given virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vswitchname The name of the virtual switch to use when fetching the switch failover policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.policy.failover{ <# .SYNOPSIS Configure the Failover policy for a virtual switch. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER activeuplinks Configure the list of active adapters and their failover order. This list must be a comma seperated list of values with the uplink name and no spaces. Example: --active-uplinks=vmnic0,vmnic3,vmnic7,vmnic1 .PARAMETER failback Configure whether a NIC will be used immediately when it comes back in service after a failover .PARAMETER failuredetection Set the method of determining how a network outage is detected. beacon: Detect failures based on active beaconing to the vswitch link: Detect failures based on the NIC link state .PARAMETER loadbalancing Set the load balancing policy for this policy. This can be one of the following options: explicit: Always use the highest order uplink from the list of active adapters which pass failover criteria. iphash: Route based on hashing the src and destination IP addresses mac: Route based on the MAC address of the packet source. portid: Route based on the originating virtual port ID. .PARAMETER notifyswitches Indicate whether to send a notification to physical switches on failover .PARAMETER standbyuplinks Configure the list of standby adapters and their failover order. This list must be a comma seperated list of values with the uplink name and no spaces. Example: --standby-uplinks=vmnic2,vmnic4,vmnic8,vmnic6,vmnic11 .PARAMETER vswitchname The name of the virtual switch to use when configuring the switch failover policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$activeuplinks, [System.Nullable[boolean]]$failback, [string]$failuredetection, [string]$loadbalancing, [System.Nullable[boolean]]$notifyswitches, [string]$standbyuplinks, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($activeuplinks -eq ""){ $activeuplinks = [System.Management.Automation.Language.NullString]::Value } If ($failuredetection -eq ""){ $failuredetection = [System.Management.Automation.Language.NullString]::Value } If ($loadbalancing -eq ""){ $loadbalancing = [System.Management.Automation.Language.NullString]::Value } If ($standbyuplinks -eq ""){ $standbyuplinks = [System.Management.Automation.Language.NullString]::Value } If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$standbyuplinks,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.standard.policy.security{ <# .SYNOPSIS Get the Security Policy governing the given virtual switch. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vswitchname The name of the virtual switch to use when fetching the network security policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.policy.security{ <# .SYNOPSIS Set the security policy for a given virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER allowforgedtransmits Allow ports on the virtual switch to send packets with forged source information. .PARAMETER allowmacchange Allow ports on the virtual switch to change their MAC address. .PARAMETER allowpromiscuous Allow ports on the virtual switch to enter promiscuous mode. .PARAMETER vswitchname The name of the virtual switch to use when setting the switch security policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$allowforgedtransmits, [System.Nullable[boolean]]$allowmacchange, [System.Nullable[boolean]]$allowpromiscuous, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.standard.policy.shaping{ <# .SYNOPSIS Get the shaping policy settings for the given virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER vswitchname The name of the virtual switch to use when fetching the switch shaping policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.get($vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.policy.shaping{ <# .SYNOPSIS Set the shaping policy settings for the given virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER avgbandwidth The averge bandwidth allowed for this shaping policy. This value is in Kbps (1 Kbps = 1000 bits/s) .PARAMETER burstsize The largest burst size allowed for this shaping policy. This value is in Kib (1 Kib = 1024 bits) .PARAMETER enabled Indicate whether to enable traffic shaping on this policy. If this is true then the --avg-bandwidth, --peak-bandwidth and --burst-size options are required. .PARAMETER peakbandwidth The peak bandwidth allowed for this shaping policy. This value is in Kbps (1 Kbps = 1000 bits/s) .PARAMETER vswitchname The name of the virtual switch to use when setting the switch shaping policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$avgbandwidth, [System.Nullable[long]]$burstsize, [System.Nullable[boolean]]$enabled, [System.Nullable[long]]$peakbandwidth, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.vswitch.standard.portgroup{ <# .SYNOPSIS Allows the addition of a standard port group to a virtual switch. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portgroupname The name of the port group to add .PARAMETER vswitchname The virtual switch to add the port group to. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$portgroupname, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.add($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-network.vswitch.standard.portgroup{ <# .SYNOPSIS List all of the port groups currently on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.vswitch.standard.portgroup{ <# .SYNOPSIS Remove a port group from the given virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portgroupname .PARAMETER vswitchname .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$portgroupname, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.remove($portgroupname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.portgroup{ <# .SYNOPSIS Set the vlan id for the given port group .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portgroupname The name of the port group to set vlan id for. .PARAMETER vlanid The vlan id for this port group. This value is in the range (0 - 4095) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$portgroupname, [System.Nullable[long]]$vlanid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.set($portgroupname,$vlanid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.standard.portgroup.policy.failover{ <# .SYNOPSIS Get the network failover policy settings governing the given port group .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portgroupname The name of the port group to use when fetching the port group failover policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$portgroupname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.portgroup.policy.failover{ <# .SYNOPSIS Configure the Failover policy for a port group. These setting may potentially override virtual switch settings. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER activeuplinks Configure the list of active adapters and their failover order. This list must be a comma seperated list of values with the uplink name and no spaces. Example: --active-uplinks=vmnic0,vmnic3,vmnic7,vmnic1 .PARAMETER failback Configure whether a NIC will be used immediately when it comes back in service after a failover .PARAMETER failuredetection Set the method of determining how a network outage is detected. beacon: Detect failures based on active beaconing to the vswitch link: Detect failures based on the NIC link state .PARAMETER loadbalancing Set the load balancing policy for this policy. This can be one of the following options: explicit: Always use the highest order uplink from the list of active adapters which pass failover criteria. iphash: Route based on hashing the src and destination IP addresses mac: Route based on the MAC address of the packet source. portid: Route based on the originating virtual port ID. .PARAMETER notifyswitches Indicate whether to send a notification to physical switches on failover .PARAMETER portgroupname The name of the port group to set failover policy for. .PARAMETER standbyuplinks Configure the list of standby adapters and their failover order. This list must be a comma seperated list of values with the uplink name and no spaces. Example: --standby-uplinks=vmnic2,vmnic4,vmnic8,vmnic6,vmnic11 .PARAMETER usevswitch Reset all values for this policy to use parent virtual switch's settings instead of overriding the settings for the port group. Using this in conjunction with other settings will first reset all of the fields to use the virtual switch setting and then apply the other options after the reset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$activeuplinks, [System.Nullable[boolean]]$failback, [string]$failuredetection, [string]$loadbalancing, [System.Nullable[boolean]]$notifyswitches, [string]$portgroupname, [string]$standbyuplinks, [System.Nullable[boolean]]$usevswitch, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($activeuplinks -eq ""){ $activeuplinks = [System.Management.Automation.Language.NullString]::Value } If ($failuredetection -eq ""){ $failuredetection = [System.Management.Automation.Language.NullString]::Value } If ($loadbalancing -eq ""){ $loadbalancing = [System.Management.Automation.Language.NullString]::Value } If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } If ($standbyuplinks -eq ""){ $standbyuplinks = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.failover.set($activeuplinks,$failback,$failuredetection,$loadbalancing,$notifyswitches,$portgroupname,$standbyuplinks,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.standard.portgroup.policy.security{ <# .SYNOPSIS Get the Security Policy governing the given port group. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portgroupname The name of the port group to use when fetching the network security policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$portgroupname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.portgroup.policy.security{ <# .SYNOPSIS Set the security policy for a given port group .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER allowforgedtransmits Allow ports on the virtual switch to send packets with forged source information. .PARAMETER allowmacchange Allow ports on the virtual switch to change their MAC address. .PARAMETER allowpromiscuous Allow ports on the virtual switch to enter promiscuous mode. .PARAMETER portgroupname The name of the port group to set security policy for. .PARAMETER usevswitch Reset all values for this policy to use parent virtual switch's settings instead of overriding the settings for the port group. Using this in conjunction with other settings will first reset all of the fields to use the virtual switch setting and then apply the other options after the reset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$allowforgedtransmits, [System.Nullable[boolean]]$allowmacchange, [System.Nullable[boolean]]$allowpromiscuous, [string]$portgroupname, [System.Nullable[boolean]]$usevswitch, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.security.set($allowforgedtransmits,$allowmacchange,$allowpromiscuous,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-network.vswitch.standard.portgroup.policy.shaping{ <# .SYNOPSIS Get the network shaping policy settings governing the given port group .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER portgroupname The name of the port group to use when fetching the port group shaping policy. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$portgroupname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.get($portgroupname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-network.vswitch.standard.portgroup.policy.shaping{ <# .SYNOPSIS Set the shaping policy settings for the given port group .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER avgbandwidth The averge bandwidth allowed for this shaping policy. This value is in Kbps (1 Kbps = 1000 bits/s) .PARAMETER burstsize The largest burst size allowed for this shaping policy. This value is in Kib (1 Kib = 1024 bits) .PARAMETER enabled Indicate whether to enable traffic shaping on this policy. If this is true then the --avg-bandwidth, --peak-bandwidth and --burst-size options are required. .PARAMETER peakbandwidth The peak bandwidth allowed for this shaping policy. This value is in Kbps (1 Kbps = 1000 bits/s) .PARAMETER portgroupname The name of the port group to set shaping policy for. .PARAMETER usevswitch Reset all values for this policy to use parent virtual switch's settings instead of overriding the settings for the port group. Using this in conjunction with other settings will first reset all of the fields to use the virtual switch setting and then apply the other options after the reset. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$avgbandwidth, [System.Nullable[long]]$burstsize, [System.Nullable[boolean]]$enabled, [System.Nullable[long]]$peakbandwidth, [string]$portgroupname, [System.Nullable[boolean]]$usevswitch, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($portgroupname -eq ""){ $portgroupname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.portgroup.policy.shaping.set($avgbandwidth,$burstsize,$enabled,$peakbandwidth,$portgroupname,$usevswitch) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-network.vswitch.standard.uplink{ <# .SYNOPSIS Add an uplink to the given virtual switch. Note if this virtual switch has a NIC teaming policy assigned to it then the policy must also be modified to enable use of this uplink on this virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER uplinkname The name of the uplink to add to the virtual switch. .PARAMETER vswitchname The name of the virtual switch to add an uplink to. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$uplinkname, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($uplinkname -eq ""){ $uplinkname = [System.Management.Automation.Language.NullString]::Value } If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.add($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-network.vswitch.standard.uplink{ <# .SYNOPSIS Remove an uplink from the given virtual switch. Note if this virtual switch has a NIC teaming policy assigned to it then the policy must also be modified to disable use of this uplink on this virtual switch .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER uplinkname The name of the uplink to remove from the virtual switch. .PARAMETER vswitchname The name of the virtual switch to remove an uplink from. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$uplinkname, [string]$vswitchname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($uplinkname -eq ""){ $uplinkname = [System.Management.Automation.Language.NullString]::Value } If ($vswitchname -eq ""){ $vswitchname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.network.vswitch.standard.uplink.remove($uplinkname,$vswitchname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-rdma.device{ <# .SYNOPSIS List the logical RDMA devices currently registered on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.rdma.device.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-rdma.device.stats{ <# .SYNOPSIS Get statistics for a given RDMA device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Name of the RDMA device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.rdma.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-rdma.device.vmknic{ <# .SYNOPSIS List the vmknics associated with RDMA devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Name of the RDMA device whose vmknics to display. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.rdma.device.vmknic.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-sched.reliablemem{ <# .SYNOPSIS Check if the system is currently aware of reliable memory. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.sched.reliablemem.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-sched.swap.system{ <# .SYNOPSIS Get current state of the options of the system-wide shared swap space. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.sched.swap.system.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-sched.swap.system{ <# .SYNOPSIS Change the configuration of system-wide shared swap space. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER datastoreenabled If the datastore option should be enabled or not. .PARAMETER datastorename The name of the datastore used by the datastore option. .PARAMETER datastoreorder The order of the datastore option in the preference of the options .PARAMETER hostcacheenabled If the host cache option should be enabled or not. .PARAMETER hostcacheorder The order of the host cache option in the preference of the options. .PARAMETER hostlocalswapenabled If the host local swap option should be enabled or not. .PARAMETER hostlocalswaporder The order of the host local swap option in the preference of the options. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$datastoreenabled, [string]$datastorename, [System.Nullable[long]]$datastoreorder, [System.Nullable[boolean]]$hostcacheenabled, [System.Nullable[long]]$hostcacheorder, [System.Nullable[boolean]]$hostlocalswapenabled, [System.Nullable[long]]$hostlocalswaporder, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($datastorename -eq ""){ $datastorename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.sched.swap.system.set($datastoreenabled,$datastorename,$datastoreorder,$hostcacheenabled,$hostcacheorder,$hostlocalswapenabled,$hostlocalswaporder) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-software.acceptance{ <# .SYNOPSIS Gets the host acceptance level. This controls what VIBs will be allowed on a host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.acceptance.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-software.acceptance{ <# .SYNOPSIS Sets the host acceptance level. This controls what VIBs will be allowed on a host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER level Specifies the acceptance level to set. Should be one of VMwareCertified / VMwareAccepted / PartnerSupported / CommunitySupported. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$level, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($level -eq ""){ $level = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.acceptance.set($level) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-software.profile{ <# .SYNOPSIS Display the installed image profile and host acceptance level. Display the installed image profile. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rebootingimage Displays information for the ESXi image which becomes active after a reboot, or nothing if the pending-reboot image has not been created yet. If not specified, information from the current ESXi image in memory will be returned. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$rebootingimage, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.profile.get($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function install-software.profile{ <# .SYNOPSIS Installs or applies an image profile from a depot to this host. This command completely replaces the installed image with the image defined by the new image profile, and may result in the loss of installed VIBs. To preserve installed VIBs, use profile update instead. WARNING: If your installation requires a reboot, you need to disable HA first. Installs or applies an image profile from a depot to this host. This command completely replaces the installed image with the image defined by the new image profile, and may result in the loss of installed VIBs. The common vibs between host and image profile will be skipped. To preserve installed VIBs, use profile update instead. WARNING: If your installation requires a reboot, you need to disable HA first. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER dryrun Performs a dry-run only. Report the VIB-level operations that would be performed, but do not change anything in the system. .PARAMETER force Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Use this option only when instructed to do so by VMware Technical Support. .PARAMETER maintenancemode Pretends that maintenance mode is in effect. Otherwise, installation will stop for live installs that require maintenance mode. This flag has no effect for reboot required remediations. .PARAMETER noliveinstall Forces an install to /altbootbank even if the VIBs are eligible for live installation or removal. Will cause installation to be skipped on PXE-booted hosts. .PARAMETER nosigcheck Bypasses acceptance level verification, including signing. Use of this option poses a large security risk and will result in a SECURITY ALERT warning being displayed in the vSphere Client. .PARAMETER oktoremove Allows the removal of installed VIBs as part of applying the image profile. If not specified, esxcli will error out if applying the image profile results in the removal of installed VIBs. .PARAMETER profile2 Specifies the name of the image profile to install. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [System.Nullable[boolean]]$dryrun, [System.Nullable[boolean]]$force, [System.Nullable[boolean]]$maintenancemode, [System.Nullable[boolean]]$noliveinstall, [System.Nullable[boolean]]$nosigcheck, [System.Nullable[boolean]]$oktoremove, [string]$profile2, [string]$proxy, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($profile2 -eq ""){ $profile2 = [System.Management.Automation.Language.NullString]::Value } If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.profile.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$oktoremove,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function update-software.profile{ <# .SYNOPSIS Updates the host with VIBs from an image profile in a depot. Installed VIBs may be upgraded (or downgraded if --allow-downgrades is specified), but they will not be removed. Any VIBs in the image profile which are not related to any installed VIBs will be added to the host. WARNING: If your installation requires a reboot, you need to disable HA first. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER allowdowngrades If this option is specified, then the VIBs from the image profile which update, downgrade, or are new to the host will be installed. If the option is not specified, then the VIBs which update or are new to the host will be installed. .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER dryrun Performs a dry-run only. Report the VIB-level operations that would be performed, but do not change anything in the system. .PARAMETER force Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Use this option only when instructed to do so by VMware Technical Support. .PARAMETER maintenancemode Pretends that maintenance mode is in effect. Otherwise, installation will stop for live installs that require maintenance mode. This flag has no effect for reboot required remediations. .PARAMETER noliveinstall Forces an install to /altbootbank even if the VIBs are eligible for live installation or removal. Will cause installation to be skipped on PXE-booted hosts. .PARAMETER nosigcheck Bypasses acceptance level verification, including signing. Use of this option poses a large security risk and will result in a SECURITY ALERT warning being displayed in the vSphere Client. .PARAMETER profile2 Specifies the name of the image profile to update the host with. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$allowdowngrades, [string[]]$depot, [System.Nullable[boolean]]$dryrun, [System.Nullable[boolean]]$force, [System.Nullable[boolean]]$maintenancemode, [System.Nullable[boolean]]$noliveinstall, [System.Nullable[boolean]]$nosigcheck, [string]$profile2, [string]$proxy, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($profile2 -eq ""){ $profile2 = [System.Management.Automation.Language.NullString]::Value } If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.profile.update($allowdowngrades,$depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function validate-software.profile{ <# .SYNOPSIS Validates the current image profile on the host against an image profile in a depot. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER profile2 Specifies the name of the image profile to validate the host with. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [string]$profile2, [string]$proxy, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($profile2 -eq ""){ $profile2 = [System.Management.Automation.Language.NullString]::Value } If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.profile.validate($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-software.sources.profile{ <# .SYNOPSIS Display details about an image profile from the depot. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER profile2 Specifies the name of the image profile to display. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [string]$profile2, [string]$proxy, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($profile2 -eq ""){ $profile2 = [System.Management.Automation.Language.NullString]::Value } If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.sources.profile.get($depot,$profile2,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-software.sources.profile{ <# .SYNOPSIS List all the image profiles in a depot. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [string]$proxy, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.sources.profile.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-software.sources.vib{ <# .SYNOPSIS Displays detailed information about one or more VIB packages in the depot .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER vibname Specifies one or more VIBs in the depot to display more information about. If this option is not specified, then all of the VIB packages from the depot will be displayed. Must be one of the following forms: name, name:version, vendor:name, or vendor:name:version. .PARAMETER viburl Specifies one or more URLs to VIB packages to display information about. http:, https:, ftp:, and file: are all supported. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [string]$proxy, [string[]]$vibname, [string[]]$viburl, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.sources.vib.get($depot,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-software.sources.vib{ <# .SYNOPSIS List all the VIBs from depots. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [string]$proxy, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.sources.vib.list($depot,$proxy) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-software.vib{ <# .SYNOPSIS Displays detailed information about one or more installed VIBs .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rebootingimage Displays information for the ESXi image which becomes active after a reboot, or nothing if the pending-reboot image has not been created yet. If not specified, information from the current ESXi image in memory will be returned. .PARAMETER vibname Specifies one or more installed VIBs to display more information about. If this option is not specified, then all of the installed VIBs will be displayed. Must be one of the following forms: name, name:version, vendor:name, or vendor:name:version. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$rebootingimage, [string[]]$vibname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.vib.get($rebootingimage,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function install-software.vib{ <# .SYNOPSIS Installs VIB packages from a URL or depot. VIBs may be installed, upgraded, or downgraded. WARNING: If your installation requires a reboot, you need to disable HA first. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER dryrun Performs a dry-run only. Report the VIB-level operations that would be performed, but do not change anything in the system. .PARAMETER force Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Use this option only when instructed to do so by VMware Technical Support. .PARAMETER maintenancemode Pretends that maintenance mode is in effect. Otherwise, installation will stop for live installs that require maintenance mode. This flag has no effect for reboot required remediations. .PARAMETER noliveinstall Forces an install to /altbootbank even if the VIBs are eligible for live installation or removal. Will cause installation to be skipped on PXE-booted hosts. .PARAMETER nosigcheck Bypasses acceptance level verification, including signing. Use of this option poses a large security risk and will result in a SECURITY ALERT warning being displayed in the vSphere Client. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER vibname Specifies VIBs from a depot, using one of the following forms: name, name:version, vendor:name, or vendor:name:version. .PARAMETER viburl Specifies one or more URLs to VIB packages to install. http:, https:, ftp:, and file: are all supported. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [System.Nullable[boolean]]$dryrun, [System.Nullable[boolean]]$force, [System.Nullable[boolean]]$maintenancemode, [System.Nullable[boolean]]$noliveinstall, [System.Nullable[boolean]]$nosigcheck, [string]$proxy, [string[]]$vibname, [string[]]$viburl, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.vib.install($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-software.vib{ <# .SYNOPSIS Lists the installed VIB packages .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER rebootingimage Displays information for the ESXi image which becomes active after a reboot, or nothing if the pending-reboot image has not been created yet. If not specified, information from the current ESXi image in memory will be returned. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$rebootingimage, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.vib.list($rebootingimage) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-software.vib{ <# .SYNOPSIS Removes VIB packages from the host. WARNING: If your installation requires a reboot, you need to disable HA first. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dryrun Performs a dry-run only. Report the VIB-level operations that would be performed, but do not change anything in the system. .PARAMETER force Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Use this option only when instructed to do so by VMware Technical Support. .PARAMETER maintenancemode Pretends that maintenance mode is in effect. Otherwise, remove will stop for live removes that require maintenance mode. This flag has no effect for reboot required remediations. .PARAMETER noliveinstall Forces an remove to /altbootbank even if the VIBs are eligible for live removal. Will cause installation to be skipped on PXE-booted hosts. .PARAMETER vibname Specifies one or more VIBs on the host to remove. Must be one of the following forms: name, name:version, vendor:name, vendor:name:version. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$dryrun, [System.Nullable[boolean]]$force, [System.Nullable[boolean]]$maintenancemode, [System.Nullable[boolean]]$noliveinstall, [string[]]$vibname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.vib.remove($dryrun,$force,$maintenancemode,$noliveinstall,$vibname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function update-software.vib{ <# .SYNOPSIS Update installed VIBs to newer VIB packages. No new VIBs will be installed, only updates. WARNING: If your installation requires a reboot, you need to disable HA first. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER depot Specifies full remote URLs of the depot index.xml or server file path pointing to an offline bundle .zip file. .PARAMETER dryrun Performs a dry-run only. Report the VIB-level operations that would be performed, but do not change anything in the system. .PARAMETER force Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Bypasses checks for package dependencies, conflicts, obsolescence, and acceptance levels. Really not recommended unless you know what you are doing. Use of this option will result in a warning being displayed in the vSphere Client. Use this option only when instructed to do so by VMware Technical Support. .PARAMETER maintenancemode Pretends that maintenance mode is in effect. Otherwise, installation will stop for live installs that require maintenance mode. This flag has no effect for reboot required remediations. .PARAMETER noliveinstall Forces an install to /altbootbank even if the VIBs are eligible for live installation or removal. Will cause installation to be skipped on PXE-booted hosts. .PARAMETER nosigcheck Bypasses acceptance level verification, including signing. Use of this option poses a large security risk and will result in a SECURITY ALERT warning being displayed in the vSphere Client. .PARAMETER proxy Specifies a proxy server to use for HTTP, FTP, and HTTPS connections. The format is proxy-url:port. .PARAMETER vibname Specifies VIBs from a depot, using one of the following forms: name, name:version, vendor:name, or vendor:name:version. VIB packages which are not updates will be skipped. .PARAMETER viburl Specifies one or more URLs to VIB packages to update to. http:, https:, ftp:, and file: are all supported. VIB packages which are not updates will be skipped. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$depot, [System.Nullable[boolean]]$dryrun, [System.Nullable[boolean]]$force, [System.Nullable[boolean]]$maintenancemode, [System.Nullable[boolean]]$noliveinstall, [System.Nullable[boolean]]$nosigcheck, [string]$proxy, [string[]]$vibname, [string[]]$viburl, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($proxy -eq ""){ $proxy = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.software.vib.update($depot,$dryrun,$force,$maintenancemode,$noliveinstall,$nosigcheck,$proxy,$vibname,$viburl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.adapter{ <# .SYNOPSIS List all the SCSI Host Bus Adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.adapter.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function rescan-storage.core.adapter{ <# .SYNOPSIS Rescan SCSI HBAs to search for new Devices, remove DEAD paths and update path state. This operation will also run an claim operation equivalent to the claimrule run command and a filesystem rescan. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Select the adapter to use when rescanning SCSI adapters. This must be a SCSI HBA name as shown in the adapter list command. This cannot be used with the --all option .PARAMETER all Indicate the rescan should rescan all adapters instead of a specific one. .PARAMETER skipclaim By default after an add operation a claiming session is run to find new devices and have them be claimed by the appropriate Multipath Plugin. Passing this flag will skip that claiming session. .PARAMETER skipfsscan By default after all rescan operations a filesystem scan is performed to add newly found filesystems and remove any filesystems that are no longer available. Passing this flag will skip that filesystem scan. This option is deprecated as no filesystem scan is performed by default .PARAMETER type Specify the type of rescan to perform. Available types are add: Perform rescan and only add new devices if any. all: Perform rescan and do all opertaions (this is the default action.) delete: Perform rescan and only delete DEAD devices. update: Rescan existing paths only and update path states. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$all, [System.Nullable[boolean]]$skipclaim, [System.Nullable[boolean]]$skipfsscan, [string]$type, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.adapter.rescan($adapter,$all,$skipclaim,$skipfsscan,$type) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.core.adapter.stats{ <# .SYNOPSIS List the SCSI stats for the SCSI Host Bus Adapters in the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Limit the stats output to one adapter .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.adapter.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function autoclaim-storage.core.claiming{ <# .SYNOPSIS Control the automatic PSA (path/device) claiming code allowing the disabling of the automatic claiming process or re-enabling of the claiming process if it was previously disabled. By default the automatic PSA claiming process is on and should not be disabled by users unless specifically instructed to do so. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter, VAAI, all]. .PARAMETER enabled Set the autoclaiming enabled state for a givenPSA plugin type in the VMkernel. Default is to have this process enabled. This should not be changed by users unless specifically instructed to do so. .PARAMETER wait If the --wait flag is provided then the autoclaim enable will wait for paths to 'settle' before running the claim operation. This means that the system is reasonably sure that all paths on the system have appeared before enabling autoclaim. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$claimruleclass, [System.Nullable[boolean]]$enabled, [System.Nullable[boolean]]$wait, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claiming.autoclaim($claimruleclass,$enabled,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reclaim-storage.core.claiming{ <# .SYNOPSIS Attempt to unclaim all paths to a device and then run the loaded claimrules on each of the paths unclaimed to attempt to reclaim them. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Reclaim requires the name of a device on which all paths will be unclaimed and then reclaimed. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claiming.reclaim($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unclaim-storage.core.claiming{ <# .SYNOPSIS 1) Unclaim a path or set of paths, disassociating them from a PSA plugin. NOTES: It is normal for path claiming to fail especially when unclaiming by plugin or adapter. Only inactive paths with no I/O will be able to be unclaimed. Typically the ESXi USB partition and devices with VMFS volumes on them will not be unclaimable. Also NOTE unclaiming will not persist and periodic path claiming will reclaim these paths in the near future unless claim rules are configured to mask the path. 2) Detach a (set of) filter(s) from one or more devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter If the --type paramter is 'location' this value indicates the name of the host bus adapter for the paths you wish to unclaim. This parameter can be omitted to indicate unclaiming should be run on paths from all adapters. .PARAMETER channel If the --type parameter is 'location' this value indicates the value of the SCSI channel number for the paths you wish to unclaim. This parameter can be omitted to indicate unclaiming should be run on paths with any channel number. .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter]. .PARAMETER device If the --type parameter is 'device' attempt to unclaim all paths to a specific device (for multipathing plugins) or unclaim the device itself (for filter plugins). NOTE. For paths, if there are any active I/O operations on this device, at least 1 path will fail to unclaim. .PARAMETER driver If the --type parameter is 'driver' attempt to unclaim all paths provided by a specific HBA driver. .PARAMETER lun If the --type paramter is 'location' this value indicates the value of the SCSI Logical Unit Number (LUN) for the paths you wish to unclaim. This parameter can be omitted to indicate unclaiming should be run on paths with any Logical Unit Number. .PARAMETER model If the --type parameter is 'vendor' attempt to unclaim all paths to devices with specific model info (for multipathing plugins) or unclaim the device itself (for filter plugins). NOTE. For paths, if there are any active I/O operations on this device, at least 1 path will fail to unclaim. .PARAMETER path If the --type parameter is 'path' attempt to unclaim a specific path given its path UID or runtime name. .PARAMETER plugin If the --type parameter is 'plugin' attempt to unclaim all paths on for a given multipath plugin OR all devices attached to a filter plugin. .PARAMETER target If the --type paramter is 'location' this value indicates the value of the SCSI target number for the paths you wish to unclaim. This parameter can be omitted to indicate unclaiming should be run on paths with any target number. .PARAMETER type Indicate the type of unclaim you wish to perform. Valid values for this paramter are [location, path, driver, device, plugin, vendor] .PARAMETER vendor If the --type parameter is 'vendor' attempt to unclaim all paths to devices with specific vendor info (for multipathing plugins) or unclaim the device itself (for filter plugins). NOTE. For paths, if there are any active I/O operations on this device, at least 1 path will fail to unclaim. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[long]]$channel, [string]$claimruleclass, [string]$device, [string]$driver, [System.Nullable[long]]$lun, [string]$model, [string]$path, [string]$plugin, [System.Nullable[long]]$target, [string]$type, [string]$vendor, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($driver -eq ""){ $driver = [System.Management.Automation.Language.NullString]::Value } If ($model -eq ""){ $model = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } If ($plugin -eq ""){ $plugin = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } If ($vendor -eq ""){ $vendor = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claiming.unclaim($adapter,$channel,$claimruleclass,$device,$driver,$lun,$model,$path,$plugin,$target,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-storage.core.claimrule{ <# .SYNOPSIS Add a claimrule to the set of claimrules on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Indicate the adapter of the paths to use in this operation. .PARAMETER autoassign The system will auto assign a rule id. .PARAMETER channel Indicate the channel of the paths to use in this operation. .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter, VAAI]. .PARAMETER device Indicate the Device Uid to use for this operation. .PARAMETER driver Indicate the driver of the paths to use in this operation. .PARAMETER force Force claim rules to ignore validity checks and install the rule anyway. .PARAMETER ifunset Execute this command if this advanced user variable is not set to 1 .PARAMETER iqn Indicate the iSCSI Qualified Name for the target to use in this operation. .PARAMETER lun Indicate the LUN of the paths to use in this operation. .PARAMETER model Indicate the model of the paths to use in this operation. .PARAMETER plugin Indicate which PSA plugin to use for this operation. .PARAMETER rule Indicate the rule ID to use for this operation. .PARAMETER target Indicate the target of the paths to use in this operation. .PARAMETER transport Indicate the transport of the paths to use in this operation. Valid Values are: [block, fc, iscsi, iscsivendor, ide, sas, sata, usb, parallel, unknown] .PARAMETER type Indicate which type of matching used for claim/unclaim or claimrule. Valid values are: [vendor, location, driver, transport, device, target] .PARAMETER vendor Indicate the vendor of the paths to user in this operation. .PARAMETER wwnn Indicate the World-Wide Node Number for the target to use in this operation. .PARAMETER wwpn Indicate the World-Wide Port Number for the target to use in this operation. .PARAMETER xcopymaxtransfersize Maximum transfer size in MB to use for XCOPY commands if admin wants to use a transfer size different than array reported. This option only takes effect when --xcopy-use-array-values is specified. .PARAMETER xcopyusearrayvalues Use array reported values for XCOPY commands. .PARAMETER xcopyusemultisegs Use multiple segments for XCOPY commandsThis option only takes effect when --xcopy-use-array-values is specified. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[boolean]]$autoassign, [System.Nullable[long]]$channel, [string]$claimruleclass, [string]$device, [string]$driver, [System.Nullable[boolean]]$force, [string]$ifunset, [string]$iqn, [System.Nullable[long]]$lun, [string]$model, [string]$plugin, [System.Nullable[long]]$rule, [System.Nullable[long]]$target, [string]$transport, [string]$type, [string]$vendor, [string]$wwnn, [string]$wwpn, [System.Nullable[long]]$xcopymaxtransfersize, [System.Nullable[boolean]]$xcopyusearrayvalues, [System.Nullable[boolean]]$xcopyusemultisegs, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($driver -eq ""){ $driver = [System.Management.Automation.Language.NullString]::Value } If ($ifunset -eq ""){ $ifunset = [System.Management.Automation.Language.NullString]::Value } If ($iqn -eq ""){ $iqn = [System.Management.Automation.Language.NullString]::Value } If ($model -eq ""){ $model = [System.Management.Automation.Language.NullString]::Value } If ($plugin -eq ""){ $plugin = [System.Management.Automation.Language.NullString]::Value } If ($transport -eq ""){ $transport = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } If ($vendor -eq ""){ $vendor = [System.Management.Automation.Language.NullString]::Value } If ($wwnn -eq ""){ $wwnn = [System.Management.Automation.Language.NullString]::Value } If ($wwpn -eq ""){ $wwpn = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($xcopymaxtransfersize -ne $Null) -or ($xcopyusearrayvalues -ne $Null) -or ($xcopyusemultisegs -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.add($adapter,$autoassign,$channel,$claimruleclass,$device,$driver,$force,$ifunset,$iqn,$lun,$model,$plugin,$rule,$target,$transport,$type,$vendor,$wwnn,$wwpn,$xcopymaxtransfersize,$xcopyusearrayvalues,$xcopyusemultisegs) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function convert-storage.core.claimrule{ <# .SYNOPSIS Convert ESX 3.x style /adv/Disk/MaskLUNs LUN masks to Claim Rule format. WARNING: This conversion will not work for all input MaskLUNs variations! Please inspect the list of generated claim rules carefuly, then if the suggested LUN mask claim rules are correct use the --commit parameter to write the list to the config file. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER commit Force LUN mask config changes to be saved. If this parameter is omitted, config file changes will not be saved. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$commit, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.convert($commit) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.claimrule{ <# .SYNOPSIS List all the claimrules on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter, VAAI, all]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$claimruleclass, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.list($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function load-storage.core.claimrule{ <# .SYNOPSIS Load path claiming rules from config file into the VMkernel. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter, VAAI, all]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$claimruleclass, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.load($claimruleclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function move-storage.core.claimrule{ <# .SYNOPSIS Move a claimrule from one rule id to another .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter, VAAI]. .PARAMETER newrule Indicate the new rule id you wish to apply to the rule given by the --rule parameter. .PARAMETER rule Indicate the rule ID to use for this operation. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$claimruleclass, [System.Nullable[long]]$newrule, [System.Nullable[long]]$rule, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.move($claimruleclass,$newrule,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-storage.core.claimrule{ <# .SYNOPSIS Delete a claimrule to the set of claimrules on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter, VAAI]. .PARAMETER plugin Indicate the plugin to use for this operation. .PARAMETER rule Indicate the rule ID to use for this operation. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$claimruleclass, [string]$plugin, [System.Nullable[long]]$rule, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } If ($plugin -eq ""){ $plugin = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.remove($claimruleclass,$plugin,$rule) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function run-storage.core.claimrule{ <# .SYNOPSIS Execute path claiming rules. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter If the --type parameter is 'location' this value indicates the name of the host bus adapter for the paths you wish to run claim rules on. This parameter can be omitted to indicate claim rules should be run on paths from all adapters. .PARAMETER channel If the --type parameter is 'location' this value indicates the value of the SCSI channel number for the paths you wish to run claim rules on. This parameter can be omitted to indicate claim rules should be run on paths with any channel number. .PARAMETER claimruleclass Indicate the claim rule class to use in this operation [MP, Filter]. .PARAMETER device Indicate the Device Uid to use for this operation. .PARAMETER lun If the --type paramter is 'location' this value indicates the value of the SCSI Logical Unit Number (LUN) for the paths you wish to run claim rules on. This parameter can be omitted to indicate claim rules should be run on paths with any Logical Unit Number. .PARAMETER path If the --type paramter is 'path' this value indicates the unique path identifier (UID) or the runtime name of a path which you wish to run claim rules on. .PARAMETER target If the --type parameter is 'location' this value indicates the value of the SCSI target number for the paths you wish to run claim rules on. This parameter can be omitted to indicate claim rules should be run on paths with any target number. .PARAMETER type Indicate the type of claim run you wish to perform. By default the value of 'all' will be used indicating you wish to run claim rules without restricting the run to specific paths or SCSI addresses. Valid values for this parameter are [location, path, device, all] .PARAMETER wait If the --wait flag is provided then the claim command will wait until device registration has completed to return. This option is only valid when used with the --all option. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [System.Nullable[long]]$channel, [string]$claimruleclass, [string]$device, [System.Nullable[long]]$lun, [string]$path, [System.Nullable[long]]$target, [string]$type, [System.Nullable[boolean]]$wait, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } If ($claimruleclass -eq ""){ $claimruleclass = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.claimrule.run($adapter,$channel,$claimruleclass,$device,$lun,$path,$target,$type,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.device{ <# .SYNOPSIS For devices currently registered with the PSA, list the filters attached to them. List the devices currently registered with the PSA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of this command to only show a single device. .PARAMETER excludeoffline If set this flag will exclude the offline devices .PARAMETER peonly If set this flag will list the mount points of pe type. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [System.Nullable[boolean]]$excludeoffline, [System.Nullable[boolean]]$peonly, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($excludeoffline -ne $Null) -or ($peonly -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.storage.core.device.list($device,$excludeoffline,$peonly) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.core.device{ <# .SYNOPSIS Provide control to allow a user to modify a SCSI device's state. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device The device you wish to operate upon. This can be any of the UIDs that a device reports. The device upon which to operate. This can be any of the UIDs that a device reports. .PARAMETER name The new name to assign the given device. .PARAMETER nopersist Set device state non-peristently; state is lost after reboot. .PARAMETER state Set the SCSI device state for a the specific device given. Valid values are : off: Set the device's state to OFF. on: Set the device's state to ON. Set the SCSI device state for the specific device given. Valid values are : off: Set the device's state to OFF. on: Set the device's state to ON. .PARAMETER queuefullsamplesize Set device's queue full sample size. IO samples to monitor for detecting non-transient queue full condition. Should be non zero to enable queue depth throttling. .PARAMETER queuefullthreshold Set device's queue full threshold. BUSY or QFULL threshold,upon which LUN queue depth will be throttled. Should be <= queue-full-sample-size if throttling is enabled. .PARAMETER defaultname Set the default display name for the device. If there is an existing user defined name it will be changed. .PARAMETER schednumreqoutstanding Set number of outstanding IOs with competing worlds. .PARAMETER force Force the device state to be set. .PARAMETER dataintegrityenabled Enable / Disable device data integrity 0 -> Protection disabled 1 -> Protection enabled.Please refer to ESX release notes for more Information .PARAMETER ledduration Set the duration of LED in seconds. If not specified, use maximum duration that hardware can support. .PARAMETER ledstate Set the disk LED state. Valid values are: error: Turn on error LED. locator: Turn on locator LED. off: Turn off LED. .PARAMETER maxqueuedepth Set device's max queue depth. .PARAMETER writecacheenabled Set device's write cache state. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [string]$name, [System.Nullable[boolean]]$nopersist, [string]$state, [System.Nullable[long]]$queuefullsamplesize, [System.Nullable[long]]$queuefullthreshold, [System.Nullable[boolean]]$defaultname, [System.Nullable[long]]$schednumreqoutstanding, [System.Nullable[boolean]]$force, [System.Nullable[boolean]]$dataintegrityenabled, [System.Nullable[long]]$ledduration, [string]$ledstate, [System.Nullable[long]]$maxqueuedepth, [System.Nullable[boolean]]$writecacheenabled, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } If ($state -eq ""){ $state = [System.Management.Automation.Language.NullString]::Value } If ($ledstate -eq ""){ $ledstate = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($queuefullsamplesize -ne $Null) -or ($queuefullthreshold -ne $Null) -or ($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($defaultname -ne $Null) -or ($schednumreqoutstanding -ne $Null) -or ($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($force -ne $Null) -or ($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($dataintegrityenabled -ne $Null) -or ($ledduration -ne $Null) -or ($ledstate -ne $Null) -or ($maxqueuedepth -ne $Null) -or ($writecacheenabled -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.set($defaultname,$device,$force,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.storage.core.device.set($dataintegrityenabled,$defaultname,$device,$force,$ledduration,$ledstate,$maxqueuedepth,$name,$nopersist,$queuefullsamplesize,$queuefullthreshold,$schednumreqoutstanding,$state,$writecacheenabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function setconfig-storage.core.device{ <# .SYNOPSIS Set device configuration .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER detached Mark device as detached. .PARAMETER device Apply the command to a single device. The device upon which to operate. This can be any of the UIDs that a device reports. .PARAMETER perenniallyreserved Mark device as perennially reserved. .PARAMETER sharedclusterwide Mark device as not shared clusterwide. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$detached, [string]$device, [System.Nullable[boolean]]$perenniallyreserved, [System.Nullable[boolean]]$sharedclusterwide, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($sharedclusterwide -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.storage.core.device.setconfig($detached,$device,$perenniallyreserved,$sharedclusterwide) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.device.detached{ <# .SYNOPSIS Lists all devices that were detached manually by changing their state on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of the command to limit the output to a specific device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.detached.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-storage.core.device.detached{ <# .SYNOPSIS Provide control to allow a user to remove Detached devices from the persistent detached device list. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Select the detached device to remove from the Detached Device List. .PARAMETER all If set, all devices will be removed from the Detached Device List. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [System.Nullable[boolean]]$all, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($all -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.core.device.detached.remove($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.storage.core.device.detached.remove($all,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.device.partition{ <# .SYNOPSIS For a given device list all of the partitions .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output to a specific device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.partition.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function showguid-storage.core.device.partition{ <# .SYNOPSIS For a given device list the GUID for GPT partitions .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output to a specific device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.partition.showguid($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.core.device.physical{ <# .SYNOPSIS Get information about a physical storage device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Specify a device name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.core.device.physical.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.device.raid{ <# .SYNOPSIS List the physical devices that compose a given logical device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Specify a device name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.core.device.raid.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.core.device.smart{ <# .SYNOPSIS List Smart device parameters. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER devicename The Smart device name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$devicename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($devicename -eq ""){ $devicename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.smart.get($devicename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.core.device.stats{ <# .SYNOPSIS List the SCSI stats for SCSI Devices in the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Limit the stats output to one specific device. This device name can be any of the UIDs the device reports .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.stats.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.core.device.vaai.status{ <# .SYNOPSIS List VAAI properties for devices currently registered with the PSA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of this command to only show a single device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.vaai.status.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.device.world{ <# .SYNOPSIS Get a list of the worlds that are currently using devices on the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of the command to limit the output to a specific device. This device name can be any of the UIDs registered for a device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.device.world.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.path{ <# .SYNOPSIS List all the SCSI paths on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Limit the output to paths to a specific device. This name can be any of the UIDs for a specific device. .PARAMETER path Limit the output to a specific path. This name can be either the UID or the runtime name of the path. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.core.path{ <# .SYNOPSIS Provide control to allow a user to modify a single path's state. This efffectively allows a user to enable or disable SCSI paths. The user is not able to change the full range of path states, but can toggle between 'active' and 'off'. Please NOTE changing the Path state on any path that is the only path to a given device is likely to fail. The VMkernel will not change the path's state if changing the state would cause an 'All paths down' state or the device is currently in use. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER path Select the path to set path state on. This can be a Runtime Name or Path UID .PARAMETER state Set the SCSI path state for a the specific path given. Valid values are : active: Set the path's state to active. This may be immediately changed by the system to another state if the active state is not appropriate. off: Administratively disable this path. Set the SCSI path state for the specific path given. Valid values are : active: Set the path's state to active. This may be immediately changed by the system to another state if the active state is not appropriate. off: Administratively disable this path. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$path, [string]$state, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } If ($state -eq ""){ $state = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.path.set($path,$state) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.core.path.stats{ <# .SYNOPSIS List the SCSI stats for the SCSI Paths in the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER path Limit the stats output to one specific path. This path name can be the runtime name or the path UID. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.path.stats.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.plugin{ <# .SYNOPSIS List loaded PSA plugins on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER pluginclass Indicate the class of plugin to limit the list to. Allowed values are : Filter: Filter plugins MP: MultiPathing plugins VAAI: VAAI plugins all: All PSA Plugins (default) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$pluginclass, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($pluginclass -eq ""){ $pluginclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.plugin.list($pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-storage.core.plugin.registration{ <# .SYNOPSIS Register a plugin module with PSA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER dependencies Add the [optional] dependencies for this module to loaded .PARAMETER fullpath Add the [optional] full path to this module .PARAMETER modulename Select the module name to be registered .PARAMETER pluginclass Indicate the class of plugin to register. Allowed values are MP, VAAI or MPP defined subplugins like PSP, SATP. .PARAMETER pluginname Select the plugin name to be registered .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$dependencies, [string]$fullpath, [string]$modulename, [string]$pluginclass, [string]$pluginname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($dependencies -eq ""){ $dependencies = [System.Management.Automation.Language.NullString]::Value } If ($fullpath -eq ""){ $fullpath = [System.Management.Automation.Language.NullString]::Value } If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } If ($pluginclass -eq ""){ $pluginclass = [System.Management.Automation.Language.NullString]::Value } If ($pluginname -eq ""){ $pluginname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.plugin.registration.add($dependencies,$fullpath,$modulename,$pluginclass,$pluginname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.core.plugin.registration{ <# .SYNOPSIS List modules currently registered with PSA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER modulename Filter the output of this command to only show a single module. .PARAMETER pluginclass Indicate the class of plugin to list. Allowed values are MP, VAAI or MPP defined subplugins like PSP, SATP. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$modulename, [string]$pluginclass, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } If ($pluginclass -eq ""){ $pluginclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.plugin.registration.list($modulename,$pluginclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-storage.core.plugin.registration{ <# .SYNOPSIS UnRegister a plugin module with PSA. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER modulename Select the module name to be unregistered .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.core.plugin.registration.remove($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function automount-storage.filesystem{ <# .SYNOPSIS Request mounting of known datastores not explicitly unmounted. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.filesystem.automount() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.filesystem{ <# .SYNOPSIS List the volumes available to the host. This includes VMFS, NAS and VFAT partitions. List the volumes available to the host. This includes VMFS, NAS, VFAT and UFS partitions. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoreerrors Ignore errors encountered (if any) while retrieving information for each file system. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoreerrors, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.filesystem.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.filesystem.list($ignoreerrors) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function mount-storage.filesystem{ <# .SYNOPSIS Connect to and mount an unmounted volume on the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nopersist Mount the volume non-peristently; the volume will not be mounted after a restart. .PARAMETER volumelabel The label of the volume to mount. This volume must be unmounted for this operation to succeed. .PARAMETER volumeuuid The UUID of the VMFS filesystem to mount. This volume must be unmounted for this operation to succeed. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$nopersist, [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.filesystem.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function rescan-storage.filesystem{ <# .SYNOPSIS Issue a rescan operation to the VMkernel to have is scan storage devices for new mountable filesystems. Scan storage devices for new mountable filesystems. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.filesystem.rescan() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unmount-storage.filesystem{ <# .SYNOPSIS Disconnect and unmount and existing VMFS or NAS volume. This will not delete the configuration for the volume, but will remove the volume from the list of mounted volumes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nopersist Unmount the volume non-peristently; the volume will be automounted after a restart. .PARAMETER volumelabel The label of the volume to unmount. .PARAMETER volumepath The path of the volume to unmount. .PARAMETER volumeuuid The uuid of the volume to unmount. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$nopersist, [string]$volumelabel, [string]$volumepath, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumepath -eq ""){ $volumepath = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.filesystem.unmount($nopersist,$volumelabel,$volumepath,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-storage.nfs{ <# .SYNOPSIS Add a new NAS volume to the ESX Host and mount it with the given volume name. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER host2 The hostname or IP address of the NAS volume to add and mount on the system. .PARAMETER readonly If set this flag will set the mount point to be read-only. .PARAMETER share The share name on the remote system to use for this NAS mount point. .PARAMETER volumename The volume name to use for the NAS mount. This must be a unique volume name and cannot conflict with existing NAS, VMFS or other volume names. .PARAMETER ispe If set this flag will set the mount point to be PE. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$host2, [System.Nullable[boolean]]$readonly, [string]$share, [string]$volumename, [System.Nullable[boolean]]$ispe, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($host2 -eq ""){ $host2 = [System.Management.Automation.Language.NullString]::Value } If ($share -eq ""){ $share = [System.Management.Automation.Language.NullString]::Value } If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($ispe -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nfs.add($host2,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.storage.nfs.add($host2,$ispe,$readonly,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nfs{ <# .SYNOPSIS List the NAS volumes currently known to the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER peonly Filter the output to only show VVol PE volumes .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$peonly, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nfs.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nfs.list($peonly) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-storage.nfs{ <# .SYNOPSIS Remove an existing NAS volume from the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumename The volume name of the NAS volume to remove from the ESX host. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nfs.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nfs.param{ <# .SYNOPSIS Get the volume parameters of the NAS volumes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumename NAS volume name("all" to list all). .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1311175 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nfs.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nfs.param{ <# .SYNOPSIS Set the volume parameters of the NAS volumes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER maxqueuedepth The maximum queue depth for the NAS volume. .PARAMETER volumename The NAS volume name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$maxqueuedepth, [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1311175 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nfs.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-storage.nfs41{ <# .SYNOPSIS Add a new NFS v4.1 volume to the ESX Host and mount it with the given volume name. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER hosts The hostname(s) or IP address(es) (comma-separated) of the server for the NFS v4.1 volume to add and mount on the system. .PARAMETER readonly If set, this flag will make the mount point be read-only. .PARAMETER sec Security flavors. Acceptable values are: [AUTH_SYS, SEC_KRB5]. .PARAMETER share The share name on the remote system to use for this NFS v4.1 mount point. .PARAMETER volumename The volume name to use for the NFS v4.1 mount. This must be a unique volume name and cannot conflict with existing NAS, NFS v4.1, VMFS, or other volume names. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$hosts, [System.Nullable[boolean]]$readonly, [string]$sec, [string]$share, [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($sec -eq ""){ $sec = [System.Management.Automation.Language.NullString]::Value } If ($share -eq ""){ $share = [System.Management.Automation.Language.NullString]::Value } If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.nfs41.add($hosts,$readonly,$sec,$share,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nfs41{ <# .SYNOPSIS List the NFS v4.1 volumes currently known to the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER peonly Filter the output to only show VVol PE Volumes .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$peonly, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.nfs41.list($peonly) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-storage.nfs41{ <# .SYNOPSIS Remove an existing NFS v4.1 volume from the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumename The volume name of the NFS v4.1 volume to remove from the ESX host. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.nfs41.remove($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nfs41.param{ <# .SYNOPSIS Get the volume parameters of the NFS v4.1 volumes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumename NFS v4.1 volume name("all" to list all). .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.nfs41.param.get($volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nfs41.param{ <# .SYNOPSIS Set the volume parameters of the NFS v4.1 volumes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER maxqueuedepth The maximum queue depth for the NFS v4.1 volume. .PARAMETER volumename The NFS v4.1 volume name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$maxqueuedepth, [string]$volumename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumename -eq ""){ $volumename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.nfs41.param.set($maxqueuedepth,$volumename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nmp.device{ <# .SYNOPSIS List the devices currently controlled by the VMware NMP Multipath Plugin and show the SATP and PSP information associated with that device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of this command to only show a single device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.device.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.device{ <# .SYNOPSIS Allow setting of the Path Selection Policy (PSP) for the given device to one of the loaded policies on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER default The Path selection policy is set back to the default for the assigned SATP for this device. .PARAMETER device The device you wish to set the Path Selection Policy for. .PARAMETER psp The Path selection policy you wish to assign to the given device. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$default, [string]$device, [string]$psp, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($psp -eq ""){ $psp = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.device.set($default,$device,$psp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nmp.path{ <# .SYNOPSIS List the paths currently claimed by the VMware NMP Multipath Plugin and show the SATP and PSP information associated with that path. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of this command to only show paths to a single device. .PARAMETER path Filter the output of this command to only show a single path. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.path.list($device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nmp.psp{ <# .SYNOPSIS List the Path Selection Plugins (PSP) that are currently loaded into the NMP system and display information about those PSPs .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nmp.psp.fixed.deviceconfig{ <# .SYNOPSIS Allow retrieving of Fixed Path Selection Policy settings for a given device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device The device you wish to get the Preferred path for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.psp.fixed.deviceconfig{ <# .SYNOPSIS Allow setting of the perferred path on a given device controlled by the Fixed Path Selection Policy. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER default Clear the preferred path selection for the given device. .PARAMETER device The device you wish to set the preferred path for. This device must be controlled by the Fixed Path Selection Policy The device you wish to set the preferred path for. This device must be controlled by the Fixed Path Selection Policy(except when -g is specified) .PARAMETER path The path you wish to set as the preferred path for the given device. .PARAMETER cfgfile Update the config file and runtime with the new setting. In case device is claimed by another PSP, ignore any errors when applying to runtime configuration. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$default, [string]$device, [string]$path, [System.Nullable[boolean]]$cfgfile, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.fixed.deviceconfig.set($cfgfile,$default,$device,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nmp.psp.generic.deviceconfig{ <# .SYNOPSIS Allow retrieving of per device PSP configuration parameters. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device The device you wish to get PSP configuration for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.psp.generic.deviceconfig{ <# .SYNOPSIS Allow setting of per device PSP configuration parameters. This command will set the configuration for the given device with whichever PSP it is currently configurated with. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER config The configuration string you wish to set. .PARAMETER device The device you wish to set PSP configuration for. .PARAMETER cfgfile Update the config file and runtime with the new setting. In case device is claimed by another PSP, ignore any errors when applying to runtime configuration. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$config, [string]$device, [System.Nullable[boolean]]$cfgfile, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($config -eq ""){ $config = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.deviceconfig.set($cfgfile,$config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nmp.psp.generic.pathconfig{ <# .SYNOPSIS Allow retrieving of per path PSP configuration parameters. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER path The path you wish to get PSP configuration for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.psp.generic.pathconfig{ <# .SYNOPSIS Allow setting of per path PSP configuration parameters. This command will set the configuration for the given path with whichever PSP it is currently configurated with. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER config The configuration string you wish to set. .PARAMETER path The path you wish to set PSP configuration for. .PARAMETER cfgfile Update the config file and runtime with the new setting. In case device is claimed by another PSP, ignore any errors when applying to runtime configuration. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$config, [string]$path, [System.Nullable[boolean]]$cfgfile, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($config -eq ""){ $config = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.generic.pathconfig.set($cfgfile,$config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nmp.psp.roundrobin.deviceconfig{ <# .SYNOPSIS Allow retrieving of Round Robin Path Selection Policy settings for a given device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device The device you wish to get the Round Robin properties for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.psp.roundrobin.deviceconfig{ <# .SYNOPSIS Allow setting of the Round Robin path options on a given device controlled by the Round Robin Selection Policy. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER bytes When the --type option is set to 'bytes' this is the value that will be assigned to the byte limit value for this device. .PARAMETER device The device you wish to set the Round Robin settings for. This device must be controlled by the Round Roubin Path Selection Policy The device you wish to set the Round Robin settings for. This device must be controlled by the Round Robin Path Selection Policy(except when -g is specified) .PARAMETER iops When the --type option is set to 'iops' this is the value that will be assigned to the I/O operation limit value for this device. .PARAMETER type Set the type of the Round Robin path switching that should be enabled for this device. Valid values for type are: bytes: Set the trigger for path switching based on the number of bytes sent down a path. default: Set the trigger for path switching back to default values. iops: Set the trigger for path switching based on the number of I/O operations on a path. .PARAMETER useano Set useano to true,to also include non-optimizedpaths in the set of active paths used to issue I/Os on this device,otherwise set it to false .PARAMETER cfgfile Update the config file and runtime with the new setting. In case device is claimed by another PSP, ignore any errors when applying to runtime configuration. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$bytes, [string]$device, [System.Nullable[long]]$iops, [string]$type, [System.Nullable[boolean]]$useano, [System.Nullable[boolean]]$cfgfile, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($cfgfile -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.psp.roundrobin.deviceconfig.set($bytes,$cfgfile,$device,$iops,$type,$useano) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nmp.satp{ <# .SYNOPSIS List the Storage Array Type Plugins (SATP) that are currently loaded into the NMP system and display information about those SATPs .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.satp{ <# .SYNOPSIS Set the default Path Selection Policy for a given Storage Array Type Plugin (SATP). .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER boot This is a system default rule added at boot time. Do not modify esx.conf or add to host profile. .PARAMETER defaultpsp The default path selection policy to set for a given --satp .PARAMETER satp The SATP name for the Storage Array Type Plugin on which this command will operate. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$boot, [string]$defaultpsp, [string]$satp, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($defaultpsp -eq ""){ $defaultpsp = [System.Management.Automation.Language.NullString]::Value } If ($satp -eq ""){ $satp = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.set($boot,$defaultpsp,$satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nmp.satp.generic.deviceconfig{ <# .SYNOPSIS Allow retrieving of per device SATP configuration parameters. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device The device you wish to get SATP configuration for. .PARAMETER excludetpginfo Exclude TPG info from the device's SATP configuration. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [System.Nullable[boolean]]$excludetpginfo, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device,$excludetpginfo) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($excludetpginfo -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device,$excludetpginfo) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device,$excludetpginfo) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device,$excludetpginfo) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device,$excludetpginfo) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.get($device,$excludetpginfo) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.satp.generic.deviceconfig{ <# .SYNOPSIS Allow setting of per device SATP configuration parameters. This command will set the configuration for the given device with whichever SATP it is currently configurated with. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER config The configuration string you wish to set. .PARAMETER device The device you wish to set SATP configuration for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$config, [string]$device, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($config -eq ""){ $config = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.deviceconfig.set($config,$device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.nmp.satp.generic.pathconfig{ <# .SYNOPSIS Allow retrieving of per path SATP configuration parameters. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER path The path you wish to get SATP configuration for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.get($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.nmp.satp.generic.pathconfig{ <# .SYNOPSIS Allow setting of per path SATP configuration parameters. This command will set the configuration for the given path with whichever SATP it is currently configurated with. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER config The configuration string you wish to set. .PARAMETER path The path you wish to set SATP configuration for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$config, [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($config -eq ""){ $config = [System.Management.Automation.Language.NullString]::Value } If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.generic.pathconfig.set($config,$path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-storage.nmp.satp.rule{ <# .SYNOPSIS Add a rule to the list of claim rules for the given SATP. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER boot This is a system default rule added at boot time. Do not modify esx.conf or add to host profile. .PARAMETER claimoption Set the claim option string when adding a SATP claim rule. .PARAMETER description Set the claim rule description when adding a SATP claim rule. .PARAMETER device Set the device when adding SATP claim rules. Device rules are mutually exclusive with vendor/model and driver rules. .PARAMETER driver Set the driver string when adding a SATP claim rule. Driver rules are mutually exclusive with vendor/model rules. .PARAMETER force Force claim rules to ignore validity checks and install the rule anyway. .PARAMETER model Set the model string when adding SATP a claim rule. Vendor/Model rules are mutually exclusive with driver rules. .PARAMETER option Set the option string when adding a SATP claim rule. .PARAMETER psp Set the default PSP for the SATP claim rule. .PARAMETER pspoption Set the PSP options for the SATP claim rule. .PARAMETER satp The SATP for which a new rule will be added. .PARAMETER transport Set the claim transport type string when adding a SATP claim rule. .PARAMETER type Set the claim type when adding a SATP claim rule. .PARAMETER vendor Set the vendor string when adding SATP claim rules. Vendor/Model rules are mutually exclusive with driver rules. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$boot, [string]$claimoption, [string]$description, [string]$device, [string]$driver, [System.Nullable[boolean]]$force, [string]$model, [string]$option, [string]$psp, [string]$pspoption, [string]$satp, [string]$transport, [string]$type, [string]$vendor, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimoption -eq ""){ $claimoption = [System.Management.Automation.Language.NullString]::Value } If ($description -eq ""){ $description = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($driver -eq ""){ $driver = [System.Management.Automation.Language.NullString]::Value } If ($model -eq ""){ $model = [System.Management.Automation.Language.NullString]::Value } If ($option -eq ""){ $option = [System.Management.Automation.Language.NullString]::Value } If ($psp -eq ""){ $psp = [System.Management.Automation.Language.NullString]::Value } If ($pspoption -eq ""){ $pspoption = [System.Management.Automation.Language.NullString]::Value } If ($satp -eq ""){ $satp = [System.Management.Automation.Language.NullString]::Value } If ($transport -eq ""){ $transport = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } If ($vendor -eq ""){ $vendor = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.add($boot,$claimoption,$description,$device,$driver,$force,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.nmp.satp.rule{ <# .SYNOPSIS List the claiming rules for Storage Array Type Plugins (SATP) .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER satp Filter the SATP rules to a specific SATP .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$satp, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($satp -eq ""){ $satp = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.list($satp) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-storage.nmp.satp.rule{ <# .SYNOPSIS Delete a rule from the list of claim rules for the given SATP. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER boot This is a system default rule added at boot time. Do not modify esx.conf or add to host profile. .PARAMETER claimoption The claim option string for the SATP claim rule to delete. .PARAMETER description The desription string for the SATP claim rule to delete. .PARAMETER device The device for the SATP claim rule to delete .PARAMETER driver The driver string for the SATP claim rule to delete. .PARAMETER model The model string for the SATP claim rule to delete. .PARAMETER option The option string for the SATP claim rule to delete. .PARAMETER psp The default PSP for the SATP claim rule to delete. .PARAMETER pspoption The PSP options for the SATP claim rule to delete. .PARAMETER satp The SATP for which a rule will be deleted. .PARAMETER transport The transport type for the SATP claim rule to delete. .PARAMETER type Set the claim type when adding a SATP claim rule. .PARAMETER vendor The vendor string for the SATP claim rule to delete .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$boot, [string]$claimoption, [string]$description, [string]$device, [string]$driver, [string]$model, [string]$option, [string]$psp, [string]$pspoption, [string]$satp, [string]$transport, [string]$type, [string]$vendor, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($claimoption -eq ""){ $claimoption = [System.Management.Automation.Language.NullString]::Value } If ($description -eq ""){ $description = [System.Management.Automation.Language.NullString]::Value } If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($driver -eq ""){ $driver = [System.Management.Automation.Language.NullString]::Value } If ($model -eq ""){ $model = [System.Management.Automation.Language.NullString]::Value } If ($option -eq ""){ $option = [System.Management.Automation.Language.NullString]::Value } If ($psp -eq ""){ $psp = [System.Management.Automation.Language.NullString]::Value } If ($pspoption -eq ""){ $pspoption = [System.Management.Automation.Language.NullString]::Value } If ($satp -eq ""){ $satp = [System.Management.Automation.Language.NullString]::Value } If ($transport -eq ""){ $transport = [System.Management.Automation.Language.NullString]::Value } If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } If ($vendor -eq ""){ $vendor = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.nmp.satp.rule.remove($boot,$claimoption,$description,$device,$driver,$model,$option,$psp,$pspoption,$satp,$transport,$type,$vendor) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.san.fc{ <# .SYNOPSIS List attributes of all FC adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter FC adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fc.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-storage.san.fc{ <# .SYNOPSIS Perform LIP (Loop Initiation Primitive) Reset to a given FC adapter on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Issue LIP Reset command to given Fibre Channel HBA. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fc.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function clear-storage.san.fc.events{ <# .SYNOPSIS Clear events for a given FC adapter on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Issue Clear Event command to specified Fibre Channel HBA. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fc.events.clear($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.san.fc.events{ <# .SYNOPSIS Get Events for FC Devices .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter FC adapter name (vmhbaX), or none, to retrieve all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fc.events.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.san.fc.stats{ <# .SYNOPSIS Get statistics for a given FC adapter, or all FC adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter FC adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fc.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.san.fcoe{ <# .SYNOPSIS List attributes of all FCoE adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter FCoE adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fcoe.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-storage.san.fcoe{ <# .SYNOPSIS Perform LIP (Loop Initiation Primitive) Reset to a given FCoE adapter on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Issue LIP Reset command to given hba. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fcoe.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.san.fcoe.stats{ <# .SYNOPSIS Get statistics for a given FCoE adapter, or all FCoE adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter FCoE adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.fcoe.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.san.iscsi{ <# .SYNOPSIS List attributes of all Software iSCSI adapters on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter iSCSI adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.iscsi.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.san.iscsi.stats{ <# .SYNOPSIS Get statistics for Software iSCSI adapter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter iSCSI device name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.iscsi.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.san.sas{ <# .SYNOPSIS List all SAS IO Device Management devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter SAS adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.sas.list($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-storage.san.sas{ <# .SYNOPSIS Perform SAS Reset .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter Issue Reset command to given hba. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.sas.reset($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.san.sas.stats{ <# .SYNOPSIS List Stats for given device, or all devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER adapter SAS adapter name (vmhbaX), or none, to list all. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$adapter, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($adapter -eq ""){ $adapter = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.san.sas.stats.get($adapter) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.vflash.cache{ <# .SYNOPSIS Get individual vflash cache info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER cachename The vflash cache name .PARAMETER modulename The vflash module name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$cachename, [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($cachename -eq ""){ $cachename = [System.Management.Automation.Language.NullString]::Value } If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.cache.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vflash.cache{ <# .SYNOPSIS List individual vflash caches. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER modulename The vflash module name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.cache.list($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.vflash.cache.stats{ <# .SYNOPSIS Get vflash cache statistics. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER cachename The vflash cache file name .PARAMETER modulename The vflash module name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$cachename, [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($cachename -eq ""){ $cachename = [System.Management.Automation.Language.NullString]::Value } If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.get($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-storage.vflash.cache.stats{ <# .SYNOPSIS Reset vflash cache statistics. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER cachename The vflash cache file name .PARAMETER modulename The vflash module name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$cachename, [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($cachename -eq ""){ $cachename = [System.Management.Automation.Language.NullString]::Value } If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.cache.stats.reset($cachename,$modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vflash.device{ <# .SYNOPSIS List vflash SSD devices. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER eligible List the eligible / ineligible SSD devices for vflash. .PARAMETER used List the used / unused SSD devices for vflash. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$eligible, [System.Nullable[boolean]]$used, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.device.list($eligible,$used) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.vflash.module{ <# .SYNOPSIS Get vflash module info. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER modulename The vflash module name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.module.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vflash.module{ <# .SYNOPSIS List vflash modules. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.module.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.vflash.module.stats{ <# .SYNOPSIS Get vflash module statistics .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER modulename The vflash module name .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$modulename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($modulename -eq ""){ $modulename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vflash.module.stats.get($modulename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unmap-storage.vmfs{ <# .SYNOPSIS Reclaim the space by unmapping free blocks from VMFS Volume .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER reclaimunit Number of VMFS blocks that should be unmapped per iteration. .PARAMETER volumelabel The label of the VMFS volume to unmap the free blocks. .PARAMETER volumeuuid The uuid of the VMFS volume to unmap the free blocks. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$reclaimunit, [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.unmap($reclaimunit,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function upgrade-storage.vmfs{ <# .SYNOPSIS Upgrade a VMFS3 volume to VMFS5. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumelabel The label of the volume to upgrade. The label of the VMFS volume to upgrade. .PARAMETER volumeuuid The uuid of the volume to upgrade. The uuid of the VMFS volume to upgrade. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.upgrade($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vmfs.extent{ <# .SYNOPSIS List the VMFS extents available on the host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.extent.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vmfs.host{ <# .SYNOPSIS List hosts accessing a particular VMFS Volume. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER liveness The type of liveness check to perform on the VMFS volume. Valid values are [none, quick] (default is none). .PARAMETER volumelabel The label of the target VMFS volume. .PARAMETER volumeuuid The uuid of the target VMFS volume. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$liveness, [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($liveness -eq ""){ $liveness = [System.Management.Automation.Language.NullString]::Value } If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vmfs.host.list($liveness,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vmfs.lockmode{ <# .SYNOPSIS List the on-disk critical section locking mode for VMFS volumes available on this host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ignoreerrors Ignore errors encountered (if any) while retrieving information for each file system. .PARAMETER volumelabel The label of the target VMFS volume. .PARAMETER volumeuuid The uuid of the target VMFS volume. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ignoreerrors, [string[]]$volumelabel, [string[]]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vmfs.lockmode.list($ignoreerrors,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-storage.vmfs.lockmode{ <# .SYNOPSIS Update the on-disk critical section locking mode for a particular VMFS Volume. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ats Enable ATS-only locking. .PARAMETER scsi Enable SCSI locking. .PARAMETER volumelabel The label of the target VMFS volume. .PARAMETER volumeuuid The uuid of the target VMFS volume. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$ats, [System.Nullable[boolean]]$scsi, [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vmfs.lockmode.set($ats,$scsi,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.vmfs.pbcache{ <# .SYNOPSIS Get VMFS Pointer Block cache statistics. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vmfs.pbcache.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-storage.vmfs.pbcache{ <# .SYNOPSIS Reset the VMFS Pointer Block cache statistics. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vmfs.pbcache.reset() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vmfs.snapshot{ <# .SYNOPSIS List unresolved snapshots/replicas of VMFS volume. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumelabel The VMFS volume label of the snapshot to list. .PARAMETER volumeuuid The VMFS volume uuid of the snapshot to list. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function mount-storage.vmfs.snapshot{ <# .SYNOPSIS Mount a snapshot/replica of a VMFS volume. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER nopersist Mount the volume non-peristently; the volume will not be automounted after a restart. .PARAMETER volumelabel The VMFS volume label of the snapshot to mount. .PARAMETER volumeuuid The VMFS volume uuid of the snapshot to mount. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$nopersist, [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.mount($nopersist,$volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function resignature-storage.vmfs.snapshot{ <# .SYNOPSIS Resignature a snapshot/replica of a VMFS volume. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumelabel The VMFS volume label of the snapshot to resignature. .PARAMETER volumeuuid The VMFS volume uuid of the snapshot to resignature. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.resignature($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vmfs.snapshot.extent{ <# .SYNOPSIS List extents of unresolved snapshots/replicas of VMFS volume. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER volumelabel The VMFS volume label of the target snapshot to enumerate. .PARAMETER volumeuuid The VMFS volume uuid of the target snapshot to enumerate. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$volumelabel, [string]$volumeuuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($volumelabel -eq ""){ $volumelabel = [System.Management.Automation.Language.NullString]::Value } If ($volumeuuid -eq ""){ $volumeuuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.storage.vmfs.snapshot.extent.list($volumelabel,$volumeuuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unbindall-storage.vvol.daemon{ <# .SYNOPSIS Unbind all virtual Volumes from all VPs known to the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vvol.daemon.unbindall() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vvol.protocolendpoint{ <# .SYNOPSIS List the VVol Protocol EndPoints currently known to the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER pe This shows PE information associated with given vasa pe id .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$pe, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($pe -eq ""){ $pe = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vvol.protocolendpoint.list($pe) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vvol.storagecontainer{ <# .SYNOPSIS List the VVol StorageContainers currently known to the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vvol.storagecontainer.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function scan-storage.vvol.storagecontainer.abandonedvvol{ <# .SYNOPSIS Scans the specified storage container for abandoned VVols. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER path Path to VVol Storage Container to scan. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$path, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vvol.storagecontainer.abandonedvvol.scan($path) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-storage.vvol.vasacontext{ <# .SYNOPSIS Get the VVol VASA Context (VC UUID). .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vvol.vasacontext.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-storage.vvol.vasaprovider{ <# .SYNOPSIS List the VASA Providers registered on the host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.storage.vvol.vasaprovider.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-system.account{ <# .SYNOPSIS Create a new local user account. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER description User description, e.g. full name. .PARAMETER id User ID, e.g. "administrator". .PARAMETER password User password. .PARAMETER passwordconfirmation Password confirmation. Required if password is specified. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$description, [string]$id, [string]$password, [string]$passwordconfirmation, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($description -eq ""){ $description = [System.Management.Automation.Language.NullString]::Value } If ($id -eq ""){ $id = [System.Management.Automation.Language.NullString]::Value } If ($password -eq ""){ $password = [System.Management.Automation.Language.NullString]::Value } If ($passwordconfirmation -eq ""){ $passwordconfirmation = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.account.add($description,$id,$password,$passwordconfirmation) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.account{ <# .SYNOPSIS List local user accounts. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.account.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-system.account{ <# .SYNOPSIS Remove an existing local user account. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER id ID of user to be removed. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$id, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($id -eq ""){ $id = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.account.remove($id) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.account{ <# .SYNOPSIS Modify an existing local user account. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER description User description, e.g. full name. .PARAMETER id User ID, e.g. "administrator". .PARAMETER password User password. .PARAMETER passwordconfirmation Password confirmation. Required if password is specified. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$description, [string]$id, [string]$password, [string]$passwordconfirmation, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($description -eq ""){ $description = [System.Management.Automation.Language.NullString]::Value } If ($id -eq ""){ $id = [System.Management.Automation.Language.NullString]::Value } If ($password -eq ""){ $password = [System.Management.Automation.Language.NullString]::Value } If ($passwordconfirmation -eq ""){ $passwordconfirmation = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.account.set($description,$id,$password,$passwordconfirmation) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.boot.device{ <# .SYNOPSIS Get the systems boot device. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.boot.device.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-system.coredump.file{ <# .SYNOPSIS Create a VMkernel Dump VMFS file for this system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER auto Automatically create a file if none found and autoCreateDumpFile kernel option is set. .PARAMETER datastore Manually specify the datastore the Dump File is created in. If not provided, a datastore of sufficient size will be automatically chosen. .PARAMETER file Manually specify the file name of the created Dump File. If not provided, a unique name will be chosen. .PARAMETER size Manually set the size in MB of the created Dump File. If not provided, a default size for the current machine will be calculated. .PARAMETER enable Enable diagnostic file after creation. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$auto, [string]$datastore, [string]$file, [System.Nullable[long]]$size, [System.Nullable[boolean]]$enable, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($datastore -eq ""){ $datastore = [System.Management.Automation.Language.NullString]::Value } If ($file -eq ""){ $file = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($enable -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.system.coredump.file.add($auto,$datastore,$enable,$file,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.coredump.file{ <# .SYNOPSIS Get the dump file path. Display path to the active and/or configured VMFS Dump File. Get the dump file path. This command will print the path to the active and/or configured VMFS Dump File. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.file.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.coredump.file{ <# .SYNOPSIS List the active and configured VMFS Diagnostic Files. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.file.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-system.coredump.file{ <# .SYNOPSIS Remove a VMkernel Dump VMFS file from this system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER file Specify the file name of the Dump File to be removed. If not given, the configured dump file will be removed. .PARAMETER force Deactivate and unconfigure the dump file being removed. This option is required if the file is active. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$file, [System.Nullable[boolean]]$force, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($file -eq ""){ $file = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.file.remove($file,$force) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.coredump.file{ <# .SYNOPSIS Set the active and configured VMkernel Dump VMFS file for this system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable Enable or disable the VMkernel dump file. This option cannot be specified when unconfiguring the dump file. .PARAMETER path The path of the VMFS Dump File to use. This should be a pre-allocated file. The path of the VMFS Dump File to use. This must be a pre-allocated file. .PARAMETER smart This flag can be used only with --enable=true. It will cause the file to be selected using the smart selection algorithm. .PARAMETER unconfigure Unconfigure the current VMFS Dump file. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enable, [string]$path, [System.Nullable[boolean]]$smart, [System.Nullable[boolean]]$unconfigure, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.file.set($enable,$path,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function check-system.coredump.network{ <# .SYNOPSIS Check the status of the configured network dump server .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.network.check() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.coredump.network{ <# .SYNOPSIS Get the currently configured parameters for network coredump, if enabled. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.network.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.coredump.network{ <# .SYNOPSIS Set the parameters used for network core dump .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable Enable network dump. This option cannot be specified when setting the dump parameters below. .PARAMETER interfacename An active interface to be used for the network core dump. Required option when setting dump parameters. .PARAMETER serveripv4 IP address of the core dump server. Required option when setting dump parameters. IPv4 address of the core dump server.(deprecated, use -j|--server-ip instead) .PARAMETER serverport Port on which the core dump server is listening. (Optional) .PARAMETER serverip IP address of the core dump server( ipv4 or ipv6 )(Required if --server-ipv4 is not used.) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enable, [string]$interfacename, [string]$serveripv4, [System.Nullable[long]]$serverport, [string]$serverip, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($serveripv4 -eq ""){ $serveripv4 = [System.Management.Automation.Language.NullString]::Value } If ($serverip -eq ""){ $serverip = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($serverip -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.system.coredump.network.set($enable,$interfacename,$serverip,$serveripv4,$serverport) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.coredump.partition{ <# .SYNOPSIS Get one of the dump partition configured values. This command will print either the active dump partition or the configured dump partition depending on the flags passed. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.partition.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.coredump.partition{ <# .SYNOPSIS List all of the partitions on the system that have a partition type matching the VMware Core partition type. Also indicate which partition, if any, is being used as the system's dump partition and which is configured to be used at next boot. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.partition.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.coredump.partition{ <# .SYNOPSIS Set the specific VMkernel dump partition for this system. This will configure the dump partition for the next boot. This command will change the active dump partition to the partition specified. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable Enable or disable the VMkernel dump partition. This option cannot be specified when setting or unconfiguring the dump partition. .PARAMETER partition The name of the partition to use. This should be a device name with a partition number at the end. Example: naa.xxxxx:1 .PARAMETER smart This flag can be used only with --enable=true. It will cause the best available partition to be selected using the smart selection algorithm. .PARAMETER unconfigure Set the dump partition into an unconfigured state. This will remove the current configured dump partition for the next boot. This will result in the smart activate algorithm being used at the next boot. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enable, [string]$partition, [System.Nullable[boolean]]$smart, [System.Nullable[boolean]]$unconfigure, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($partition -eq ""){ $partition = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.coredump.partition.set($enable,$partition,$smart,$unconfigure) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.hostname{ <# .SYNOPSIS Get the host, domain or fully qualified name of the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.hostname.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.hostname{ <# .SYNOPSIS This command allows the user to set the hostname, domain name or fully qualified domain name of the ESX host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER domain The domain name to set for the ESX host. This option is mutually exclusive with the --fqdn option. .PARAMETER fqdn Set the fully qualified domain name of the ESX host. .PARAMETER host2 The host name to set for the ESX host. This name should not contain the DNS domain name of the host and can only contain letters, numbers and '-'. NOTE this is not the fully qualified name, that can be set with the --fqdn option. This option is mutually exclusive with the --fqdn option. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$domain, [string]$fqdn, [string]$host2, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($domain -eq ""){ $domain = [System.Management.Automation.Language.NullString]::Value } If ($fqdn -eq ""){ $fqdn = [System.Management.Automation.Language.NullString]::Value } If ($host2 -eq ""){ $host2 = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.hostname.set($domain,$fqdn,$host2) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.maintenanceMode{ <# .SYNOPSIS Get the maintenance mode state of the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.maintenanceMode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.maintenanceMode{ <# .SYNOPSIS Enable or disable the maintenance mode of the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enable enable maintenance mode .PARAMETER timeout Time to perform operation in seconds (default 60 seconds) Time to perform operation in seconds (default 0 seconds) .PARAMETER vsanmode Action the VSAN service must take before the host can enter maintenance mode (default noAction). Allowed values are: ensureObjectAccessibility: Evacuate data from the disk to ensure object accessibility in the VSAN cluster, before removing the disk. evacuateAllData: Evacuate all data from the disk before removing it. noAction: Do not move VSAN data out of the disk before removing it. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enable, [System.Nullable[long]]$timeout, [string]$vsanmode, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($vsanmode -eq ""){ $vsanmode = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($vsanmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.system.maintenanceMode.set($enable,$timeout,$vsanmode) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.module{ <# .SYNOPSIS Show the ELF header information for the given VMkernel module. Show information for a VMkernel module. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER module The name of the VMkernel module to get the option string for. The name of the VMkernel module. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$module, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($module -eq ""){ $module = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.module.get($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.module{ <# .SYNOPSIS List the VMkernel modules that the system knows about. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled List the enabled / disabled VMkernel modules and device drivers. .PARAMETER loaded List the loaded / not loaded VMkernel modules and device drivers. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [System.Nullable[boolean]]$loaded, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.module.list($enabled,$loaded) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function load-system.module{ <# .SYNOPSIS Load a VMkernel module with the given name if it is enabled. If the module is disabled then the use of --force is required to load the module. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER force Ignore the enabled/disabled state of this module and force it to load. .PARAMETER module The name of the VMkernel module to load. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$force, [string]$module, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($module -eq ""){ $module = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.module.load($force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.module{ <# .SYNOPSIS Allow enabling and disabling of a VMkernel module. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled Set to true to enable the module, set to false to disable the module. .PARAMETER force Skip VMkernel module validity checks and set options for a module (or alias) with the given name. .PARAMETER module The name of the VMkernel module to set options for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [System.Nullable[boolean]]$force, [string]$module, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($module -eq ""){ $module = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.module.set($enabled,$force,$module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function copy-system.module.parameters{ <# .SYNOPSIS Copy the load time parameters from one VMkernel module to another. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER force Skip VMkernel module validity checks for the source VMkernel module. .PARAMETER parameterkeys Parameter key that should get copied. .PARAMETER source The name of the source VMkernel module. .PARAMETER target The name of the target VMkernel module. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$force, [string[]]$parameterkeys, [string]$source, [string]$target, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($source -eq ""){ $source = [System.Management.Automation.Language.NullString]::Value } If ($target -eq ""){ $target = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.module.parameters.copy($force,$parameterkeys,$source,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.module.parameters{ <# .SYNOPSIS List the parameters, a descriptions of each parameter supported for a given module name and the user defined value for each parameter. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER module The name of the VMkernel module to get the option string for. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$module, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($module -eq ""){ $module = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.module.parameters.list($module) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.module.parameters{ <# .SYNOPSIS Set the load time parameters for the given VMkernel module. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER force Skip VMkernel module validity checks and set parameters for a module (or alias) with the given name. .PARAMETER module The name of the VMkernel module to set parameters for. .PARAMETER parameterstring The string containing the parameters for this module. .PARAMETER append Append the specified parameter string to the currently configured parameter string for the VMkernel module. If --append is not specified, the parameter string currently configured for the VMkernel module will be replaced by the specified parameter string. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$force, [string]$module, [string]$parameterstring, [System.Nullable[boolean]]$append, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($module -eq ""){ $module = [System.Management.Automation.Language.NullString]::Value } If ($parameterstring -eq ""){ $parameterstring = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($append -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.module.parameters.set($force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.system.module.parameters.set($append,$force,$module,$parameterstring) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.permission{ <# .SYNOPSIS List permissions defined on the host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.permission.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.permission{ <# .SYNOPSIS Set permission for a user or group. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER group Specifies that the supplied ID refers to a group. ESXi local groups are not supported. .PARAMETER id ID of user or group. Domain users or groups should be specified as "DOMAIN\user_name" or "DOMAIN\group_name". .PARAMETER role Name of role that specifies user access rights. Admin: Full access rights NoAccess: Used for restricting granted access. E.g. to deny access for some user whose group already has access. ReadOnly: See details of objects, but not make changes .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$group, [string]$id, [string]$role, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($id -eq ""){ $id = [System.Management.Automation.Language.NullString]::Value } If ($role -eq ""){ $role = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.permission.set($group,$id,$role) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unset-system.permission{ <# .SYNOPSIS Remove permission for a user or group. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER group Specifies that the supplied ID refers to a group. .PARAMETER id ID of user or group. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$group, [string]$id, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($id -eq ""){ $id = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.permission.unset($group,$id) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.process{ <# .SYNOPSIS List the VMkernel UserWorld processes currently on the host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.process.stats.load{ <# .SYNOPSIS System load average over the last 1, 5 and 15 minutes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.process.stats.load.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.process.stats.running{ <# .SYNOPSIS Number of currently running processes. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.process.stats.running.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.secpolicy.domain{ <# .SYNOPSIS List the enforcement level for each domain. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.secpolicy.domain.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.secpolicy.domain{ <# .SYNOPSIS Set the enforcement level for a domain in the system. Any option specified here is not persistent and will not survive a reboot of the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER alldomains All domains. .PARAMETER level The enforcement level. .PARAMETER name The domain name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$alldomains, [string]$level, [string]$name, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($level -eq ""){ $level = [System.Management.Automation.Language.NullString]::Value } If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.secpolicy.domain.set($alldomains,$level,$name) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-system.security.certificatestore{ <# .SYNOPSIS Add a new CA certificate to the CA certificate store. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER filename Path to certificate file in PEM format .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$filename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($filename -eq ""){ $filename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.security.certificatestore.add($filename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.security.certificatestore.add($filename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.security.certificatestore.add($filename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.security.certificatestore.add($filename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.security.certificatestore{ <# .SYNOPSIS List all certificates in the CA certificate store. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.security.certificatestore.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.security.certificatestore.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.security.certificatestore.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.security.certificatestore.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-system.security.certificatestore{ <# .SYNOPSIS Remove a certificate from the CA certificate store. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER issuer Remove certificate by the specified issuer .PARAMETER serial Remove certificate of specified serial number .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$issuer, [string]$serial, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($issuer -eq ""){ $issuer = [System.Management.Automation.Language.NullString]::Value } If ($serial -eq ""){ $serial = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.system.security.certificatestore.remove($issuer,$serial) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.security.certificatestore.remove($issuer,$serial) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.security.certificatestore.remove($issuer,$serial) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.security.certificatestore.remove($issuer,$serial) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.settings.advanced{ <# .SYNOPSIS List the advanced options available from the VMkernel. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER option Only get the information for a single VMkernel advanced option. .PARAMETER tree Limit the list of advanced option to a specific sub tree. .PARAMETER delta Only display options whose values differ from their default. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$option, [string]$tree, [System.Nullable[boolean]]$delta, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($option -eq ""){ $option = [System.Management.Automation.Language.NullString]::Value } If ($tree -eq ""){ $tree = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.advanced.list($option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.advanced.list($delta,$option,$tree) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.settings.advanced{ <# .SYNOPSIS Set the value of an advanced option. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER default Reset the option to its default value. .PARAMETER intvalue If the option is an integer value use this option. .PARAMETER option The name of the option to set the value of. Example: "/Misc/HostName" .PARAMETER stringvalue If the option is a string use this option. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$default, [System.Nullable[long]]$intvalue, [string]$option, [string]$stringvalue, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($option -eq ""){ $option = [System.Management.Automation.Language.NullString]::Value } If ($stringvalue -eq ""){ $stringvalue = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.advanced.set($default,$intvalue,$option,$stringvalue) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.settings.kernel{ <# .SYNOPSIS List VMkernel kernel settings. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER option The name of the VMkernel kernel setting to get. .PARAMETER delta Only display options whose values differ from their default. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$option, [System.Nullable[boolean]]$delta, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($option -eq ""){ $option = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($delta -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.settings.kernel.list($option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.kernel.list($delta,$option) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.settings.kernel{ <# .SYNOPSIS Set a VMKernel setting. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER setting The name of the VMKernel setting to set. .PARAMETER value The value to set the setting to. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$setting, [string]$value, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($setting -eq ""){ $setting = [System.Management.Automation.Language.NullString]::Value } If ($value -eq ""){ $value = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.kernel.set($setting,$value) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.settings.keyboard.layout{ <# .SYNOPSIS Get the keyboard layout .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.settings.keyboard.layout{ <# .SYNOPSIS List the keyboard layout .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.settings.keyboard.layout{ <# .SYNOPSIS Set the keyboard layout .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER layout The name of the layout to set .PARAMETER nopersist Only apply this layout for the current boot .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$layout, [System.Nullable[boolean]]$nopersist, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($layout -eq ""){ $layout = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.settings.keyboard.layout.set($layout,$nopersist) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function poweroff-system.shutdown{ <# .SYNOPSIS Power off the system. The host must be in maintenance mode. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER delay Delay interval in seconds .PARAMETER reason Reason for performing the operation .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$delay, [string]$reason, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($reason -eq ""){ $reason = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.shutdown.poweroff($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reboot-system.shutdown{ <# .SYNOPSIS Reboot the system. The host must be in maintenance mode. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER delay Delay interval in seconds .PARAMETER reason Reason for performing the operation .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$delay, [string]$reason, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($reason -eq ""){ $reason = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.shutdown.reboot($delay,$reason) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function search-system.slp{ <# .SYNOPSIS Perform SLP search for neighboring services .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER node Optional, host FQDN or IP address to connect to. Use -P to control protocol used. .PARAMETER port Optional, override the default port value 427. .PARAMETER protocol Optional, override unicast protocol: [tcp, udp], default tcp, requires -n. .PARAMETER service Optional, the service name to search for. Defaults to 'service-agent'. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$node, [System.Nullable[long]]$port, [string]$protocol, [string]$service, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($node -eq ""){ $node = [System.Management.Automation.Language.NullString]::Value } If ($protocol -eq ""){ $protocol = [System.Management.Automation.Language.NullString]::Value } If ($service -eq ""){ $service = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.slp.search($node,$port,$protocol,$service) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.slp.stats{ <# .SYNOPSIS Report operational state of Service Location Protocol Daemon .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.system.slp.stats.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.snmp{ <# .SYNOPSIS Get SNMP Agent configuration .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.snmp.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function hash-system.snmp{ <# .SYNOPSIS Generate localized hash values based on this agents snmp engine id. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER authhash Provide filename to secret for authentication hash, use in set --users .PARAMETER privhash Provide filename to secret for privacy hash, use in set --users .PARAMETER rawsecret Make -A and -X flags read raw secret from command line instead of file. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$authhash, [string]$privhash, [System.Nullable[boolean]]$rawsecret, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($authhash -eq ""){ $authhash = [System.Management.Automation.Language.NullString]::Value } If ($privhash -eq ""){ $privhash = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.snmp.hash($authhash,$privhash,$rawsecret) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.snmp{ <# .SYNOPSIS This command allows the user to set up ESX SNMP agent. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER authentication Set default authentication protocol. Values: none, MD5, SHA1 .PARAMETER communities Set up to ten communities each no more than 64 characters. Format is: community1[,community2,...] (this overwrites previous settings) .PARAMETER enable Start or stop SNMP service. Values: [yes|no, true|false, 0|1] .PARAMETER engineid Set SNMPv3 engine id. Must be at least 5 to 32 hexadecimal characters. 0x is stripped if found as well as colons (:) Set SNMPv3 engine id. Must be at least 10 to 32 hexadecimal characters. 0x or 0X is stripped if found as well as colons (:) .PARAMETER hwsrc Where to source hardware events from IPMI sensors or CIM Indications. One of: indications|sensors .PARAMETER loglevel System Agent syslog logging level: debug|info|warning|error .PARAMETER notraps Comma separated list of trap oids for traps not to be sent by agent. Use value 'reset' to clear setting .PARAMETER port Set UDP port to poll snmp agent on. The default is udp/161 .PARAMETER privacy Set default privacy protocol. Values: none, AES128 .PARAMETER remoteusers Set up to five inform user ids. Format is: user/auth-proto/-|auth-hash/priv-proto/-|priv-hash/engine-id[,...] Where user is 32 chars max. auth-proto is none|MD5|SHA1, priv-proto is none|AES. '-' indicates no hash. engine-id is hex string '0x0-9a-f' up to 32 chars max. .PARAMETER reset Return agent configuration to factory defaults .PARAMETER syscontact System contact string as presented in sysContact.0. Up to 255 characters .PARAMETER syslocation System location string as presented in sysLocation.0. Up to 255 characters. .PARAMETER targets Set up to three targets to send SNMPv1 traps to. Format is: ip-or-hostname[@port]/community[,...] The default port is udp/162. (this overwrites previous settings) .PARAMETER users Set up to five local users. Format is: user/-|auth-hash/-|priv-hash/model[,...] Where user is 32 chars max. '-' indicates no hash. Model is one of (none|auth|priv). .PARAMETER v3targets Set up to three SNMPv3 notification targets. Format is: ip-or-hostname[@port]/remote-user/security-level/trap|inform[,...]. .PARAMETER largestorage Support large storage for hrStorageAllocationUnits * hrStorageSize. Values: [yes|no, true|false, 0|1]. Control how the agent reports hrStorageAllocationUnits, hrStorageSize and hrStorageUsed in hrStorageTable. Setting this directive to 1 to support large storage with small allocation units, the agent re-calculates these values so they all fit Integer32 and hrStorageAllocationUnits * hrStorageSize gives real size of the storage ( Note: hrStorageAllocationUnits will not be real allocation units if real hrStorageSize won't fit into Integer32 ). Setting this directive to 0 turns off this calculation and the agent reports real hrStorageAllocationUnits, but it might report wrong hrStorageSize for large storage because the value won't fit into Integer32. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$authentication, [string]$communities, [System.Nullable[boolean]]$enable, [string]$engineid, [string]$hwsrc, [string]$loglevel, [string]$notraps, [System.Nullable[long]]$port, [string]$privacy, [string]$remoteusers, [System.Nullable[boolean]]$reset, [string]$syscontact, [string]$syslocation, [string]$targets, [string]$users, [string]$v3targets, [System.Nullable[boolean]]$largestorage, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($authentication -eq ""){ $authentication = [System.Management.Automation.Language.NullString]::Value } If ($communities -eq ""){ $communities = [System.Management.Automation.Language.NullString]::Value } If ($engineid -eq ""){ $engineid = [System.Management.Automation.Language.NullString]::Value } If ($hwsrc -eq ""){ $hwsrc = [System.Management.Automation.Language.NullString]::Value } If ($loglevel -eq ""){ $loglevel = [System.Management.Automation.Language.NullString]::Value } If ($notraps -eq ""){ $notraps = [System.Management.Automation.Language.NullString]::Value } If ($privacy -eq ""){ $privacy = [System.Management.Automation.Language.NullString]::Value } If ($remoteusers -eq ""){ $remoteusers = [System.Management.Automation.Language.NullString]::Value } If ($syscontact -eq ""){ $syscontact = [System.Management.Automation.Language.NullString]::Value } If ($syslocation -eq ""){ $syslocation = [System.Management.Automation.Language.NullString]::Value } If ($targets -eq ""){ $targets = [System.Management.Automation.Language.NullString]::Value } If ($users -eq ""){ $users = [System.Management.Automation.Language.NullString]::Value } If ($v3targets -eq ""){ $v3targets = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($largestorage -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.snmp.set($authentication,$communities,$enable,$engineid,$hwsrc,$largestorage,$loglevel,$notraps,$port,$privacy,$remoteusers,$reset,$syscontact,$syslocation,$targets,$users,$v3targets) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function test-system.snmp{ <# .SYNOPSIS Verify ESX SNMP notifications can be delivered to target destinations. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER authhash Optionally test authentication secret generates matching hash for user .PARAMETER privhash Optionally test privacy secret generates matching hash for user .PARAMETER rawsecret Make -A and -X flags read raw secret from command line instead of file. .PARAMETER user Validate a given SNMPv3 user name exists .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$authhash, [string]$privhash, [System.Nullable[boolean]]$rawsecret, [string]$user, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($authhash -eq ""){ $authhash = [System.Management.Automation.Language.NullString]::Value } If ($privhash -eq ""){ $privhash = [System.Management.Automation.Language.NullString]::Value } If ($user -eq ""){ $user = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 799733 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.snmp.test($authhash,$privhash,$rawsecret,$user) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.stats.uptime{ <# .SYNOPSIS Disply the number of microseconds the system has been running. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.stats.uptime.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function mark-system.syslog{ <# .SYNOPSIS Mark all logs with the specified string .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER message The message to place in the logs .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$message, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($message -eq ""){ $message = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.syslog.mark($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reload-system.syslog{ <# .SYNOPSIS Reload the log daemon to apply any new configuration options .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.syslog.reload() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.syslog.config{ <# .SYNOPSIS Show the current global configuration values .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.syslog.config.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.syslog.config{ <# .SYNOPSIS Set global log configuration options .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER defaultrotate Default number of rotated logs to keep Default number of rotated local logs to keep .PARAMETER defaultsize Default size of logs before rotation, in KiB Default size of local logs before rotation, in KiB .PARAMETER logdir The directory to output logs to The directory to output local logs to .PARAMETER logdirunique Place logs in a unique subdirectory of logdir, based on hostname .PARAMETER loghost The remote host to output logs to The remote host(s) to send logs to .PARAMETER reset Reset values to default .PARAMETER defaulttimeout Default network retry timeout in seconds if a remote server fails to respond .PARAMETER checksslcerts Verify remote SSL certificates against the local CA Store .PARAMETER droplogrotate Number of rotated dropped log files to keep .PARAMETER droplogsize Size of dropped log file before rotation, in KiB .PARAMETER queuedropmark Message queue capacity after which messages are dropped .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$defaultrotate, [System.Nullable[long]]$defaultsize, [string]$logdir, [System.Nullable[boolean]]$logdirunique, [string]$loghost, [string]$reset, [System.Nullable[long]]$defaulttimeout, [System.Nullable[boolean]]$checksslcerts, [System.Nullable[long]]$droplogrotate, [System.Nullable[long]]$droplogsize, [System.Nullable[long]]$queuedropmark, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($logdir -eq ""){ $logdir = [System.Management.Automation.Language.NullString]::Value } If ($loghost -eq ""){ $loghost = [System.Management.Automation.Language.NullString]::Value } If ($reset -eq ""){ $reset = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 474610 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 504890 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 515841 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 623860 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 702118 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 721882 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 768111 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 821926 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914586 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1024429 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117897 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1254542 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1311175 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1489271 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1851670 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1918656 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000308 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2312428 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2509828 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 799733 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 838463 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 914609 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1021289 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1065491 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1117900 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1157734 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1312873 { If(($defaulttimeout -ne $Null) -or ($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1483097 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1612806 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1743533 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1900470 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2000251 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2191751 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2323236 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1331820 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($checksslcerts -ne $Null) -or ($droplogrotate -ne $Null) -or ($droplogsize -ne $Null) -or ($queuedropmark -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.system.syslog.config.set($defaultrotate,$defaultsize,$defaulttimeout,$logdir,$logdirunique,$loghost,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.system.syslog.config.set($checksslcerts,$defaultrotate,$defaultsize,$defaulttimeout,$droplogrotate,$droplogsize,$logdir,$logdirunique,$loghost,$queuedropmark,$reset) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.syslog.config.logger{ <# .SYNOPSIS Show the currently configured sub-loggers .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.syslog.config.logger.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.syslog.config.logger{ <# .SYNOPSIS Set configuration options for a specific sub-logger .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER id The id of the logger to configure .PARAMETER reset Reset values to default .PARAMETER rotate Number of rotated logs to keep for a specific logger (requires --id) .PARAMETER size Set size of logs before rotation for a specific logger, in KiB (requires --id) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$id, [string]$reset, [System.Nullable[long]]$rotate, [System.Nullable[long]]$size, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($id -eq ""){ $id = [System.Management.Automation.Language.NullString]::Value } If ($reset -eq ""){ $reset = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.syslog.config.logger.set($id,$reset,$rotate,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.time{ <# .SYNOPSIS Disply the current system time. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.time.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.time{ <# .SYNOPSIS Set the system clock time. Any missing parameters will default to the current time .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER day Day .PARAMETER hour Hour .PARAMETER min Minute .PARAMETER month Month .PARAMETER sec Second .PARAMETER year Year .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$day, [System.Nullable[long]]$hour, [System.Nullable[long]]$min, [System.Nullable[long]]$month, [System.Nullable[long]]$sec, [System.Nullable[long]]$year, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.time.set($day,$hour,$min,$month,$sec,$year) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.uuid{ <# .SYNOPSIS Get the system UUID. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.uuid.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.version{ <# .SYNOPSIS Display the product name, version and build information. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.version.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.visorfs{ <# .SYNOPSIS Obtain status information on the memory filesystem as a whole. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.visorfs.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-system.visorfs.ramdisk{ <# .SYNOPSIS Add a new Visorfs RAM disk to the ESXi Host and mount it. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER maxsize Maximum size (max reservation in MiB) .PARAMETER minsize Minimum size (min reservation in MiB) .PARAMETER name Name for the ramdisk .PARAMETER permissions Permissions for the root of the ramdisk (mode) .PARAMETER target Mountpoint for the ramdisk Mountpoint for the ramdisk (absolute path) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$maxsize, [System.Nullable[long]]$minsize, [string]$name, [string]$permissions, [string]$target, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($name -eq ""){ $name = [System.Management.Automation.Language.NullString]::Value } If ($permissions -eq ""){ $permissions = [System.Management.Automation.Language.NullString]::Value } If ($target -eq ""){ $target = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.add($maxsize,$minsize,$name,$permissions,$target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.visorfs.ramdisk{ <# .SYNOPSIS List the RAM disks used by the host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-system.visorfs.ramdisk{ <# .SYNOPSIS Remove a Visorfs RAM disk from the ESXi Host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER target Mountpoint for the ramdisk Mountpoint for the ramdisk (absolute path) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$target, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($target -eq ""){ $target = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.visorfs.ramdisk.remove($target) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-system.visorfs.tardisk{ <# .SYNOPSIS List the tardisks used by the host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.visorfs.tardisk.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-system.welcomemsg{ <# .SYNOPSIS Get the Welcome Message for DCUI. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.welcomemsg.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-system.welcomemsg{ <# .SYNOPSIS Set the Welcome Message for DCUI. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER message Welcome Message String. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$message, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($message -eq ""){ $message = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.system.welcomemsg.set($message) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function kill-vm.process{ <# .SYNOPSIS Used to forcibly kill Virtual Machines that are stuck and not responding to normal stop operations. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER type The type of kill operation to attempt. There are three types of VM kills that can be attempted: [soft, hard, force]. Users should always attempt 'soft' kills first, which will give the VMX process a chance to shutdown cleanly (like kill or kill -SIGTERM). If that does not work move to 'hard' kills which will shutdown the process immediately (like kill -9 or kill -SIGKILL). 'force' should be used as a last resort attempt to kill the VM. If all three fail then a reboot is required. .PARAMETER worldid The World ID of the Virtual Machine to kill. This can be obtained from the 'vm process list' command .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$type, [System.Nullable[long]]$worldid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($type -eq ""){ $type = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vm.process.kill($type,$worldid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-vm.process{ <# .SYNOPSIS List the virtual machines on this system. This command currently will only list running VMs on the system. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 469512 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 474610 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 504890 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 515841 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 623860 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 702118 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 721882 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 768111 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 821926 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914586 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1024429 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117897 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1254542 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1311175 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1489271 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1851670 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1918656 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000308 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2312428 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2509828 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 799733 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 838463 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 914609 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1021289 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1065491 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1117900 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1157734 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1312873 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1483097 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1612806 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1743533 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1900470 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2000251 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2191751 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2323236 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1331820 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vm.process.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-vsan.cluster{ <# .SYNOPSIS Get the information of the VSAN cluster that this host is joined to. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.cluster.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function join-vsan.cluster{ <# .SYNOPSIS Join the host to a given VSAN cluster. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER clusteruuid VSAN cluster UUID of the cluster instance which the host will join, or create, in the form "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn" where n are hexadecimal digits. .PARAMETER wait Wait until the node joins the cluster .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$clusteruuid, [System.Nullable[boolean]]$wait, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($clusteruuid -eq ""){ $clusteruuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.cluster.join($clusteruuid,$wait) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function leave-vsan.cluster{ <# .SYNOPSIS Leave the VSAN cluster the host is currently joined to. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.cluster.leave() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function new-vsan.cluster{ <# .SYNOPSIS Create a VSAN cluster with current host joined, a random sub-cluster UUID will be generated. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.cluster.new() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function restore-vsan.cluster{ <# .SYNOPSIS Restore the persisted VSAN cluster configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER boot Set when restoring the cluster during boot (internal only!) .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$boot, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.cluster.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.cluster.restore($boot) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-vsan.datastore.name{ <# .SYNOPSIS Get VSAN datastore name. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.datastore.name.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-vsan.datastore.name{ <# .SYNOPSIS Configure VSAN datastore name. In general, Rename should always be done at cluster level. Across a VSAN cluster VSAN datastore name should be in sync. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER newname Set VSAN datastore name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$newname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($newname -eq ""){ $newname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.datastore.name.set($newname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-vsan.faultdomain{ <# .SYNOPSIS Get the fault domain name for this host. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.faultdomain.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function reset-vsan.faultdomain{ <# .SYNOPSIS Reset Host fault domain to default value .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.faultdomain.reset() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-vsan.faultdomain{ <# .SYNOPSIS Set the fault domain for this host .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER fdname Fault domain name to use for this host. Empty string means reset to default. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$fdname, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($fdname -eq ""){ $fdname = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.faultdomain.set($fdname) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function cancel-vsan.maintenancemode{ <# .SYNOPSIS Cancel an in-progress VSAN maintenance mode operation. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.maintenancemode.cancel() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function clear-vsan.network{ <# .SYNOPSIS Clear the VSAN network configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.clear() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-vsan.network{ <# .SYNOPSIS List the network configuration currently in use by VSAN. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.list() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-vsan.network{ <# .SYNOPSIS Remove an interface from the VSAN network configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER force Notify VSAN subsystem of removal, even if not configured. .PARAMETER interfacename Interface name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$force, [string]$interfacename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function restore-vsan.network{ <# .SYNOPSIS Restore the persisted VSAN network configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.restore() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-vsan.network.ipv4{ <# .SYNOPSIS Add an IPv4 interface to the VSAN network configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER agentmcaddr Optional IPv4 multicast address for agent (also called as downstream) group. .PARAMETER agentmcport Optional multicast address port for agent (also called as downstream) group. .PARAMETER interfacename Interface name. .PARAMETER mastermcaddr Optional IPv4 multicast address for master (also called as upstream) group. .PARAMETER mastermcport Optional multicast address port for master (also called as upstream) group. .PARAMETER multicastttl Optional time-to-live for multicast packets. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$agentmcaddr, [System.Nullable[long]]$agentmcport, [string]$interfacename, [string]$mastermcaddr, [System.Nullable[long]]$mastermcport, [System.Nullable[long]]$multicastttl, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($agentmcaddr -eq ""){ $agentmcaddr = [System.Management.Automation.Language.NullString]::Value } If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($mastermcaddr -eq ""){ $mastermcaddr = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.ipv4.add($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-vsan.network.ipv4{ <# .SYNOPSIS Remove an IPv4 interface from the VSAN network configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER force Notify VSAN subsystem of removal, even if not configured. .PARAMETER interfacename Interface name. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$force, [string]$interfacename, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.ipv4.remove($force,$interfacename) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-vsan.network.ipv4{ <# .SYNOPSIS Reconfigure an IPv4 interface in the VSAN network configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER agentmcaddr Optional IPv4 multicast address for agent (also called as downstream) group. .PARAMETER agentmcport Optional multicast address port for agent (also called as downstream) group. .PARAMETER interfacename Interface name. .PARAMETER mastermcaddr Optional IPv4 multicast address for master (also called as upstream) group. .PARAMETER mastermcport Optional multicast address port for master (also called as upstream) group. .PARAMETER multicastttl Optional time-to-live for multicast packets. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$agentmcaddr, [System.Nullable[long]]$agentmcport, [string]$interfacename, [string]$mastermcaddr, [System.Nullable[long]]$mastermcport, [System.Nullable[long]]$multicastttl, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($agentmcaddr -eq ""){ $agentmcaddr = [System.Management.Automation.Language.NullString]::Value } If ($interfacename -eq ""){ $interfacename = [System.Management.Automation.Language.NullString]::Value } If ($mastermcaddr -eq ""){ $mastermcaddr = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.network.ipv4.set($agentmcaddr,$agentmcport,$interfacename,$mastermcaddr,$mastermcport,$multicastttl) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function cleardefault-vsan.policy{ <# .SYNOPSIS Clear default VSAN storage policy values. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.policy.cleardefault() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function getdefault-vsan.policy{ <# .SYNOPSIS Get default VSAN storage policy values. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER policyclass VSAN policy class whose default value to get. If not provided, defaults for all classes will be retrieved. Options are: [cluster, vdisk, vmnamespace, vmswap]. VSAN policy class whose default value to get. If not provided, defaults for all classes will be retrieved. Options are: [cluster, vdisk, vmnamespace, vmswap, vmem]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$policyclass, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($policyclass -eq ""){ $policyclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.policy.getdefault($policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function setdefault-vsan.policy{ <# .SYNOPSIS Set default VSAN storage policy values. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER policy VSAN policy to set as default, in the form of a string. VSAN policy to set as default, in the form of a string. Options are: 1)cacheReservation - Flash capacity reserved as read cache for the storage object. Specified as a percentage of the logical size of the object. To be used only for addressing read performance issues. Reserved flash capacity cannot be used by other objects. Unreserved flash is shared fairly among all objects. It is specified in parts per million. Default value: 0, Maximum value: 1000000. 2)forceProvisioning - If this option is "yes" the object will be provisioned even if the policy specified in the storage policy is not satisfiable with the resources currently available in the cluster. VSAN will try to bring the object into compliance if and when resources become available. Default value: No3)hostFailuresToTolerate - Defines the number of host, disk or network failures a storage object can tolerate. For n failures tolerated, "n+1" copies of the object are creates and "2n+1" hosts contributing storage are required. Default value: 1, Maximum value: 3. 4)stripeWidth - The number of HDDs across which each replica of storage object is striped. A value higher than 1 may result in better performance (for e.g when flash read cache misses need to get serviced from HDD), but also results in higher used of system resources. Default value: 1, Maximum value: 12. 5)proportionalCapacity - Percentage of the logical size of the storage object that will be reserved (thick provisioning) upon VM provisioning. The rest of the storage object is thin provisioned. Default value: 0%, Maximum value: 100%. VSAN policy to set as default, in the form of a string. Options are: 1)cacheReservation - Flash capacity reserved as read cache for the storage object. Specified as a percentage of the logical size of the object. To be used only for addressing read performance issues. Reserved flash capacity cannot be used by other objects. Unreserved flash is shared fairly among all objects. It is specified in parts per million. Default value: 0, Maximum value: 1000000. 2)forceProvisioning - If this option is "1" the object will be provisioned even if the policy specified in the storage policy is not satisfiable with the resources currently available in the cluster. Virtual SAN will try to bring the object into compliance if and when resources become available. Default value: 0. 3)hostFailuresToTolerate - Defines the number of host, disk or network failures a storage object can tolerate. For n failures tolerated, "n+1" copies of the object are creates and "2n+1" hosts contributing storage are required.If fault domains are configured, "2n+1" fault domains with hosts contributing storage are required.Note: A host which is not part of a fault domain is counted as its own single-host fault domain. Default value: 1, Maximum value: 3. 4)stripeWidth - The number of HDDs across which each replica of storage object is striped. A value higher than 1 may result in better performance (for e.g when flash read cache misses need to get serviced from HDD), but also results in higher used of system resources. Default value: 1, Maximum value: 12. 5)proportionalCapacity - Percentage of the logical size of the storage object that will be reserved (thick provisioning) upon VM provisioning. The rest of the storage object is thin provisioned. Default value: 0%, Maximum value: 100%. .PARAMETER policyclass VSAN policy class whose default value to set. Options are: [cluster, vdisk, vmnamespace, vmswap]. VSAN policy class whose default value to set. Options are: [cluster, vdisk, vmnamespace, vmswap, vmem]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$policy, [string]$policyclass, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($policy -eq ""){ $policy = [System.Management.Automation.Language.NullString]::Value } If ($policyclass -eq ""){ $policyclass = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.policy.setdefault($policy,$policyclass) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-vsan.storage{ <# .SYNOPSIS Add physical disk for VSAN usage. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER disks Specify hdds to add for use by VSAN. Expects an empty disk with no partitions in which case the disk will be partitioned and formatted. Otherwise this operation will fail. The command expects the device name for the disk to be to be provided, e.g.: mpx.vmhba2:C0:T1:L0. Multiple hdds can be provided using format -d hdd1 -d hdd2 -d hdd3 .PARAMETER ssd Specify ssd to add for use by VSAN. Expects an empty ssd with no partitions in which case the ssd will be partitioned and formatted. Otherwise this operation will fail. The command expects the device name for the disk to be to be provided, e.g.: mpx.vmhba2:C0:T1:L0 .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string[]]$disks, [string]$ssd, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ssd -eq ""){ $ssd = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.storage.add($disks,$ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function list-vsan.storage{ <# .SYNOPSIS List VSAN storage configuration. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER device Filter the output of this command to only show a single device. Filter the output of this command to only show a single device with specified device name. .PARAMETER uuid Filter the output of this command to only show a single device with specified uuid. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$device, [string]$uuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($device -eq ""){ $device = [System.Management.Automation.Language.NullString]::Value } If ($uuid -eq ""){ $uuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($uuid -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.list($device) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.vsan.storage.list($device,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-vsan.storage{ <# .SYNOPSIS Remove physical disks from VSAN disk groups. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER disk Specify individual hdd to remove from VSAN usage.e.g.: mpx.vmhba2:C0:T1:L0 .PARAMETER ssd Specify a disk group's fronting ssd to remove the ssd and each backing hdd from VSAN usage.e.g.: mpx.vmhba2:C0:T1:L0 .PARAMETER uuid Specify UUID of VSAN disk.e.g.: 52afa1de-4240-d5d6-17f9-8af1ec8509e5 .PARAMETER evacuationmode Specify an action to take upon removing a disk from VSAN usage [NoAction, EnsureObjectAccessibility, EvacuateAllData]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$disk, [string]$ssd, [string]$uuid, [string]$evacuationmode, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($disk -eq ""){ $disk = [System.Management.Automation.Language.NullString]::Value } If ($ssd -eq ""){ $ssd = [System.Management.Automation.Language.NullString]::Value } If ($uuid -eq ""){ $uuid = [System.Management.Automation.Language.NullString]::Value } If ($evacuationmode -eq ""){ $evacuationmode = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1474528 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1623387 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746018 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1746974 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1881737 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 1892794 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2068190 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2143827 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2302651 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2403361 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2456374 { If(($evacuationmode -ne $Null)){ Write-error "At least one parameter is not compatible with this ESXi build:$Build " } Else{ $esxcliOutput = $esxcli.vsan.storage.remove($disk,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } } 2494585 { $esxcliOutput = $esxcli.vsan.storage.remove($disk,$evacuationmode,$ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-vsan.storage.automode{ <# .SYNOPSIS Get status of storage auto claim mode. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.storage.automode.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-vsan.storage.automode{ <# .SYNOPSIS Configure storage auto claim mode .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled Changing this value to true will result in enabling auto disk claim mode. Disks will be claimed by the VSAN service in next storage event, e.g.: adapter rescan and disk hot-plug. Set to false to disable storage auto claim mode. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.storage.automode.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function get-vsan.storage.checksum{ <# .SYNOPSIS Get status of checksum protection. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.storage.checksum.get() $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-vsan.storage.checksum{ <# .SYNOPSIS Configure storage checksum protection. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER enabled Enable or disable storage checksum protection. When enabled protection metadata will be written for every 512-bytes of target sector data. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[boolean]]$enabled, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.storage.checksum.set($enabled) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function mount-vsan.storage.diskgroup{ <# .SYNOPSIS Mount a VSAN disk group. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ssd Specify a disk group's fronting ssd to mount the ssd and each backing hdd for use by VSAN.e.g.: mpx.vmhba2:C0:T1:L0 .PARAMETER uuid Specify a VSAN UUID of fronting ssd to mount the ssd and each backing hdd for use by VSAN.e.g.: mpx.vmhba2:C0:T1:L0 .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$ssd, [string]$uuid, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ssd -eq ""){ $ssd = [System.Management.Automation.Language.NullString]::Value } If ($uuid -eq ""){ $uuid = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.storage.diskgroup.mount($ssd,$uuid) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function unmount-vsan.storage.diskgroup{ <# .SYNOPSIS Unmount VSAN disk group. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER ssd Specify a disk group's fronting ssd to unmount the ssd and each backing hdd from VSAN usage.e.g.: mpx.vmhba2:C0:T1:L0 .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$ssd, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($ssd -eq ""){ $ssd = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.storage.diskgroup.unmount($ssd) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function add-vsan.storage.tag{ <# .SYNOPSIS Add a VSAN storage tag. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER disk Name of the disk to which the tag should be added. .PARAMETER tag Tag to be added to disk. Supported tags are [capacityFlash]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$disk, [string]$tag, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($disk -eq ""){ $disk = [System.Management.Automation.Language.NullString]::Value } If ($tag -eq ""){ $tag = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.storage.tag.add($disk,$tag) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function remove-vsan.storage.tag{ <# .SYNOPSIS Remove a VSAN storage tag. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER disk Name of the disk from which the tag should be removed. .PARAMETER tag Tag to be removed from disk. Supported tags are [capacityFlash]. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [string]$disk, [string]$tag, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($disk -eq ""){ $disk = [System.Management.Automation.Language.NullString]::Value } If ($tag -eq ""){ $tag = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 2494585 { $esxcliOutput = $esxcli.vsan.storage.tag.remove($disk,$tag) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } } function set-vsan.trace{ <# .SYNOPSIS Configure VSAN trace. Please note: This command is not thread safe. .DESCRIPTION This function provide access via Power-Cli to the esxcli equivalent function. All parameters and help associated to the original esxcli function are available. This function is based on the original get-esxcli PowerCLI cmdlet... ...and enhance it by taking into account the build of the target ESXi host. A PowerCli VMHost object is a mandatory parameter It is also possible to pipe VMhost objects to execute this function accross many hosts in one operation .NOTES Author: Christophe Calvet Blog: http://www.thecrazyconsultant.com/get-esxcli_on_steroids .LINK This function is part of a package containing a powershell function for each of the esxcli command http://www.thecrazyconsultant.com/get-esxcli_on_steroids vSphere Command-Line Interface Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.vcli.ref.doc/vcli-right.html Get-Esxcli PowerCLI Reference http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.powercli.cmdletref.doc/Get-EsxCli.html .PARAMETER numfiles Log file rotation for VSAN trace files. .PARAMETER path Path to store VSAN trace files. .PARAMETER reset When set to true, reset defaults for VSAN trace files. .PARAMETER size Maximum size of VSAN trace files in MB. .PARAMETER VMHost One or many PowerCli VMHost object .EXAMPLE Some examples, and all others esxcli/powershell functions, are available in the blog #> param( [System.Nullable[long]]$numfiles, [string]$path, [System.Nullable[boolean]]$reset, [System.Nullable[long]]$size, [Parameter(Mandatory=$true,ValueFromPipeline=$true)] [VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl]$VMhost ) process{ If ($path -eq ""){ $path = [System.Management.Automation.Language.NullString]::Value } Try{ $esxcli = Get-EsxCLI -VMHost $VMhost $BUILD = $VMHost.build switch($BUILD) { 1331820 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1474528 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1623387 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746018 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1746974 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1881737 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 1892794 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2068190 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2143827 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2302651 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2403361 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2456374 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } 2494585 { $esxcliOutput = $esxcli.vsan.trace.set($numfiles,$path,$reset,$size) $FinalTable = New-Object -Type PSObject -Prop ([ordered]@{ "VMHost" = $VMHost; "esxcliOutput" = $esxcliOutput; }) Return $FinalTable } default{ Write-error "This function is not available with this ESXi build:$Build OR has not been tested yet. Please refer to the blog for all build tested and latest version of this script." } } } Catch{ Write-error $_ } } }