109 lines
3.1 KiB
PowerShell
109 lines
3.1 KiB
PowerShell
#$AllVMHosts = Get-Cluster AVAYA*,LINUX*,ODM*,ORACLE*,SQL*,SQL2-DR,TEL*,WAS*,WINDOWS* | Get-VMHost | Sort-object Name
|
|
|
|
$VMhostNames = @"
|
|
itdbisvm-av05.nd.gov
|
|
"@
|
|
|
|
$VMhostNames = ConvertTo-Array -MultiLineString $VMhostNames
|
|
|
|
$AllVMHosts = Get-VMHost $VMhostNames
|
|
|
|
|
|
$AllVMHosts = Get-Cluster WINDOWS2 | Get-VMHost
|
|
|
|
ForEach ($VMHost in $AllVMHosts) {
|
|
Clear-DnsClientCache
|
|
$VirtualSwitch = $null
|
|
$CohesityDNS = $null
|
|
$IpAddress = $null
|
|
$VMHostDNS = $VMHost.Name
|
|
$VirtualSwitch = $VMHost | Get-VirtualSwitch -Name "*Data*"
|
|
$PortGroup = $VirtualSwitch | Get-VirtualPortGroup | Where-Object Name -Like "dvPG_3534_10.2.170.0_24*"
|
|
$CohesityDNS = $VMHostDNS.split('.')[0] + 'co.nd.gov'
|
|
|
|
# does vmhost already have vmkernel in Cohesity range?
|
|
If ($VMHost | Get-VMHostNetworkAdapter -VMKernel | Where-Object IP -Like "10.2.170.*") {
|
|
Write-Warning "VMKernel already exists on $VMHostDNS"
|
|
}
|
|
Else {
|
|
$IpAddress = (Resolve-DnsName -Name $CohesityDNS).IpAddress
|
|
If ($IpAddress) {
|
|
New-VMHostNetworkAdapter -VMHost $VMHost `
|
|
-PortGroup $PortGroup `
|
|
-VirtualSwitch $VirtualSwitch `
|
|
-IP $IpAddress `
|
|
-SubnetMask 255.255.255.0 `
|
|
-ManagementTrafficEnabled $true `
|
|
-VMotionEnabled $false `
|
|
-VsanTrafficEnabled $false
|
|
}
|
|
else {
|
|
Write-Error "IpAddress null for $VMHostDNS"
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
<# Create DNS records
|
|
$AllVMHosts = @"
|
|
itdvmbismgmt01.nd.gov
|
|
itdvmbismgmt02.nd.gov
|
|
itdvmbisvapp01.nd.gov
|
|
itdvmbisvapp02.nd.gov
|
|
itdvmbiswas04.nd.gov
|
|
itdvmbiswas05.nd.gov
|
|
itdvmbisora02.nd.gov
|
|
itdvmbisora03.nd.gov
|
|
itdvmbissql09.nd.gov
|
|
itdvmbissql10.nd.gov
|
|
itdvmbissql11.nd.gov
|
|
itdvmbiswin07.nd.gov
|
|
itdvmbiswin08.nd.gov
|
|
itdvmbiswin09.nd.gov
|
|
itdvmbiswin10.nd.gov
|
|
itdvmbiswin11.nd.gov
|
|
itdvmbiswin12.nd.gov
|
|
itdvmbiswin13.nd.gov
|
|
itdvmbissql07.nd.gov
|
|
itdvmbissql08.nd.gov
|
|
itdvmmdnmgmt01.nd.gov
|
|
itdvmmdnvapp01.nd.gov
|
|
itdvmmdnsql07.nd.gov
|
|
itdvmmdnsql08.nd.gov
|
|
itdvmmdnsql09.nd.gov
|
|
itdvmmdnlin05.nd.gov
|
|
itdvmmdnora02.nd.gov
|
|
itdvmmdnmgmt02.nd.gov
|
|
itdvmmdnvapp02.nd.gov
|
|
itdvmmdnsql10.nd.gov
|
|
itdvmmdnsql11.nd.gov
|
|
itdvmmdnsql12.nd.gov
|
|
itdvmmdnlin03.nd.gov
|
|
itdvmmdnlin04.nd.gov
|
|
"@
|
|
$AllVMHosts = ConvertTo-Array -MultiLineString $AllVMHosts
|
|
#Get-Cluster WINDOWS2,WAS2,SQL2,SQL2-DR,TEL2,PS2,ORACLE2,ODM2,LINUX2,AVAYA2 | Get-VMHost
|
|
ForEach($VMHost in $AllVMhosts){
|
|
$CohesityDNS = $VMHost.split('.')[0] + 'co.nd.gov'
|
|
New-ITDIbDNSRecordNextAvailableIP -CIDR 10.2.170.0/24 -Credential $IbCred -Hostname $CohesityDNS
|
|
#$CohesityDNS
|
|
}
|
|
#>
|
|
|
|
# static routes
|
|
$AllVMHosts = Get-VMHost -Name itdmdnvm-av03.nd.gov
|
|
$result = [System.Collections.ArrayList]@()
|
|
ForEach ($VMHost in $AllVMHosts) {
|
|
$x = $null
|
|
$esxcli = Get-EsxCli -VMHost $VMHost -V2
|
|
$params = @{
|
|
network = '10.2.169.128/26'
|
|
gateway = '10.2.170.1'
|
|
}
|
|
|
|
$esxcli.network.ip.route.ipv4.add.Invoke($params)
|
|
|
|
$x = $esxcli.network.ip.route.ipv4.list.Invoke() | Where-Object {$_.Interface -eq 'vmk2' -and $_.Network -eq '10.2.169.128'}
|
|
$x | Add-Member -Name "Name" -MemberType NoteProperty -Value $VMHost.Name
|
|
$null = $result.Add($x)
|
|
} |