Disable Delayed Acknowledgement Setting in iSCSI Software Adapter using PowerCLI

Summary:

Somebody posed this question in the vmware communities forum.  I figured out how to do it cheating w/ Onyx.  Not sure why this is needed (since I don’t use iSCSI much), but figure it’s best I post this for reference if I or anyone needs to do this particular task.

Script:

#This section will get host information needed
$HostView = Get-VMHost NameofESXServer | Get-View
$HostStorageSystemID = $HostView.configmanager.StorageSystem
$HostiSCSISoftwareAdapterHBAID = ($HostView.config.storagedevice.HostBusAdapter | where {$_.Model -match "iSCSI Software"}).device
 
#This section sets the option you want.
$options = New-Object VMWare.Vim.HostInternetScsiHbaParamValue[] (1)
 
$options[0] = New-Object VMware.Vim.HostInternetScsiHbaParamValue
$options[0].key = "DelayedAck"
$options[0].value = $false
 
#This section applies the options above to the host you got the information from.
$HostStorageSystem = Get-View -ID $HostStorageSystemID
$HostStorageSystem.UpdateInternetScsiAdvancedOptions($HostiSCSISoftwareAdapterHBAID, $null, $options)

You can have this script run against multiple ESX servers, but you will need to use the Foreach-Object cmdlet.

0 comments: