Module for managing vCenter CEIP Settings
This commit is contained in:
74
Modules/vCenterCEIP/vCenterCEIP.psm1
Executable file
74
Modules/vCenterCEIP/vCenterCEIP.psm1
Executable 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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user