Merge pull request #260 from lamw/master

Added Set-VMCSDDC function to rename SDDC
This commit is contained in:
Kyle Ruddy
2019-02-04 12:36:48 -05:00
committed by GitHub
3 changed files with 1581 additions and 1309 deletions

View File

@@ -476,7 +476,7 @@ Function New-NSXTFirewall {
$services = @()
foreach ($serviceName in $Service) {
if($group -eq "ANY") {
if($serviceName -eq "ANY") {
$services = @("ANY")
} else {
$tmp = "/infra/services/$serviceName"
@@ -1361,4 +1361,83 @@ Function Remove-NSXTDistFirewall {
Write-Host "Succesfully removed NSX-T Distributed Firewall Rule"
}
}
}
Function Get-NSXTRouteTable {
<#
.NOTES
===========================================================================
Created by: William Lam
Date: 02/02/2019
Organization: VMware
Blog: http://www.virtuallyghetto.com
Twitter: @lamw
===========================================================================
.SYNOPSIS
Retrieves NSX-T Routing Table
.DESCRIPTION
This cmdlet retrieves NSX-T Routing Table. By default, it shows all routes but you can filter by BGP, CONNECTED or STATIC routes
.EXAMPLE
Get-NSXTRouteTable
.EXAMPLE
Get-NSXTRouteTable -RouteSource BGP
.EXAMPLE
Get-NSXTRouteTable -RouteSource CONNECTED
.EXAMPLE
Get-NSXTRouteTable -RouteSource STATIC
.EXAMPLE
Get-NSXTRouteTable -RouteSource BGP -Troubleshoot
#>
Param (
[Parameter(Mandatory=$False)][ValidateSet("BGP","CONNECTED","STATIC")]$RouteSource,
[Switch]$Troubleshoot
)
If (-Not $global:nsxtProxyConnection) { Write-error "No NSX-T Proxy Connection found, please use Connect-NSXTProxy" } Else {
$method = "GET"
$routeTableURL = $global:nsxtProxyConnection.Server + "/policy/api/v1/infra/tier-0s/vmc/routing-table?enforcement_point_path=/infra/deployment-zones/default/enforcement-points/vmc-enforcementpoint"
if($RouteSource) {
$routeTableURL = $routeTableURL + "&route_source=$RouteSource"
}
if($Troubleshoot) {
Write-Host -ForegroundColor cyan "`n[DEBUG] - $method`n$routeTableURL`n"
}
try {
if($PSVersionTable.PSEdition -eq "Core") {
$requests = Invoke-WebRequest -Uri $routeTableURL -Method $method -Headers $global:nsxtProxyConnection.headers -SkipCertificateCheck
} else {
$requests = Invoke-WebRequest -Uri $routeTableURL -Method $method -Headers $global:nsxtProxyConnection.headers
}
} catch {
if($_.Exception.Response.StatusCode -eq "Unauthorized") {
Write-Host -ForegroundColor Red "`nThe NSX-T Proxy session is no longer valid, please re-run the Connect-NSXTProxy cmdlet to retrieve a new token`n"
break
} else {
Write-Error "Error in retrieving NSX-T Routing Table"
Write-Error "`n($_.Exception.Message)`n"
break
}
}
if($requests.StatusCode -eq 200) {
Write-Host "Succesfully retrieved NSX-T Routing Table`n"
$routeTables = ($requests.Content | ConvertFrom-Json).results
foreach ($routeTable in $routeTables) {
Write-Host "EdgeNode: $($routeTable.edge_node)"
Write-Host "Entries: $($routeTable.count)"
$routeEntries = $routeTable.route_entries
$routeEntryResults = @()
foreach ($routeEntry in $routeEntries) {
$routeEntryResults += $routeEntry
}
$routeEntryResults | select network,next_hop,admin_distance,route_type | ft
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,74 @@
Function Get-VCenterCEIP {
<#
.NOTES
===========================================================================
Created by: William Lam
Date: 01/23/2019
Organization: VMware
Blog: http://www.virtuallyghetto.com
Twitter: @lamw
===========================================================================
.SYNOPSIS
Retrieves the the Customer Experience Improvement Program (CEIP) setting for vCenter Server
.DESCRIPTION
This cmdlet retrieves the the CEIP setting for vCenter Server
.EXAMPLE
Get-VCenterCEIP
#>
If (-Not $global:DefaultVIServer.IsConnected) { Write-error "No valid VC Connection found, please use the Connect-VIServer to connect"; break } Else {
$ceipSettings = (Get-AdvancedSetting -Entity $global:DefaultVIServer -Name VirtualCenter.DataCollector.ConsentData).Value.toString() | ConvertFrom-Json
$ceipEnabled = $ceipSettings.consentConfigurations[0].consentAccepted
$tmp = [pscustomobject] @{
VCENTER = $global:DefaultVIServer.Name;
CEIP = $ceipEnabled;
}
$tmp
}
}
Function Set-VCenterCEIP {
<#
.NOTES
===========================================================================
Created by: William Lam
Date: 01/23/2019
Organization: VMware
Blog: http://www.virtuallyghetto.com
Twitter: @lamw
===========================================================================
.SYNOPSIS
Enables or Disables the Customer Experience Improvement Program (CEIP) setting for vCenter Server
.DESCRIPTION
This cmdlet enables or disables the CEIP setting for vCenter Server
.EXAMPLE
Set-VCenterCEIP -Enabled
.EXAMPLE
Set-VCenterCEIP -Disabled
#>
Param (
[Switch]$Enabled,
[Switch]$Disabled
)
If (-Not $global:DefaultVIServer.IsConnected) { Write-error "No valid VC Connection found, please use the Connect-VIServer to connect"; break } Else {
$ceipSettings = (Get-AdvancedSetting -Entity $global:DefaultVIServer -Name VirtualCenter.DataCollector.ConsentData).Value.toString() | ConvertFrom-Json
If($Enabled) {
$originalVersion = $ceipSettings.version
$ceipSettings.version = [int]$originalVersion + 1
$ceipSettings.consentConfigurations[0].consentAccepted = $True
$ceipSettings.consentConfigurations[1].consentAccepted = $True
$updatedceipSettings = $ceipSettings | ConvertTo-Json
Write-Host "Enabling Customer Experience Improvement Program (CEIP) ..."
Get-AdvancedSetting -Entity $global:DefaultVIServer -Name VirtualCenter.DataCollector.ConsentData | Set-AdvancedSetting -Value $updatedceipSettings -Confirm:$false
} else {
$originalVersion = $ceipSettings.version
$ceipSettings.version = [int]$originalVersion + 1
$ceipSettings.consentConfigurations[0].consentAccepted = $False
$ceipSettings.consentConfigurations[1].consentAccepted = $False
$updatedceipSettings = $ceipSettings | ConvertTo-Json
Write-Host "Disablng Customer Experience Improvement Program (CEIP) ..."
Get-AdvancedSetting -Entity $global:DefaultVIServer -Name VirtualCenter.DataCollector.ConsentData | Set-AdvancedSetting -Value $updatedceipSettings -Confirm:$false
}
}
}