@@ -590,7 +590,19 @@ function New-PfaHostFromVmHost {
590590 $iqnJson = (" [" + ($iqn | ConvertTo-Json ) + " ]" )
591591 }
592592 Write-debug $iqnJson
593- $newFaHost = New-PfaRestOperation - resourceType host/ $ ($esxi.NetworkInfo.HostName ) - restOperationType POST - flasharray $fa - SkipCertificateCheck - jsonBody " {`" iqnlist`" :$ ( $iqnJson ) }" - ErrorAction Stop
593+ try {
594+ $newFaHost = New-PfaRestOperation - resourceType host/ $ ($esxi.NetworkInfo.HostName ) - restOperationType POST - flasharray $fa - SkipCertificateCheck - jsonBody " {`" iqnlist`" :$ ( $iqnJson ) }" - ErrorAction Stop
595+ }
596+ catch {
597+ if (($PSItem.ToString () | convertfrom-json ).msg -eq " Host already exists." )
598+ {
599+ $randName = $esxi.NetworkInfo.HostName + (Get-Random - Maximum 99999 - Minimum 10000 ).ToString()
600+ $newFaHost = New-PfaRestOperation - resourceType host/ $ ($randName ) - restOperationType POST - flasharray $fa - SkipCertificateCheck - jsonBody " {`" iqnlist`" :$ ( $iqnJson ) }" - ErrorAction Stop
601+ }
602+ else {
603+ throw ($PSItem.ToString ()| convertfrom-json ).msg
604+ }
605+ }
594606 $majorVersion = ((New-PfaRestOperation - resourceType array - restOperationType GET - flasharray $fa - SkipCertificateCheck).version[0 ])
595607 if ($majorVersion -ge 5 )
596608 {
@@ -622,10 +634,24 @@ function New-PfaHostFromVmHost {
622634 $wwnsJson = (" [" + ($wwns | ConvertTo-Json ) + " ]" )
623635 }
624636 Write-debug $wwnsJson
625- $newFaHost = New-PfaRestOperation - resourceType host/ $ ($esxi.NetworkInfo.HostName ) - restOperationType POST - flasharray $fa - SkipCertificateCheck - jsonBody " {`" wwnlist`" :$ ( $wwnsJson ) }" - ErrorAction Stop
637+ try {
638+ Write-Debug - Message " test1"
639+ $newFaHost = New-PfaRestOperation - resourceType host/ $ ($esxi.NetworkInfo.HostName ) - restOperationType POST - flasharray $fa - SkipCertificateCheck - jsonBody " {`" wwnlist`" :$ ( $wwnsJson ) }" - ErrorAction Stop
640+ }
641+ catch {
642+ if (($PSItem.ToString () | convertfrom-json ).msg -eq " Host already exists." )
643+ {
644+ $randName = $esxi.NetworkInfo.HostName + (Get-Random - Maximum 99999 - Minimum 10000 ).ToString()
645+ $newFaHost = New-PfaRestOperation - resourceType host/ $ ($randName ) - restOperationType POST - flasharray $fa - SkipCertificateCheck - jsonBody " {`" wwnlist`" :$ ( $wwnsJson ) }" - ErrorAction Stop
646+ }
647+ else {
648+ throw ($PSItem.ToString () | convertfrom-json ).msg
649+ }
650+ }
626651 $majorVersion = ((New-PfaRestOperation - resourceType array - restOperationType GET - flasharray $fa - SkipCertificateCheck).version[0 ])
627652 if ($majorVersion -ge 5 )
628653 {
654+ Write-Debug - Message " test3"
629655 New-PfaRestOperation - resourceType host/ $ ($newFaHost.name ) - restOperationType PUT - flasharray $fa - SkipCertificateCheck - jsonBody " {`" personality`" :`" esxi`" }" | Out-Null
630656 }
631657 $vmHosts += $newFaHost
0 commit comments