@@ -9990,4 +9990,736 @@ function Reset-HVMachine {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-hvlocalsession, Get-HVGlobalSession, Reset-HVMachine
|
function get-hvhealth {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Pulls health information from Horizon View
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Queries and returns health information from the local Horizon Pod
|
||||||
|
|
||||||
|
.PARAMETER Servicename
|
||||||
|
The name of the service to query the health for.
|
||||||
|
This will default to Connection server health.
|
||||||
|
Available services are ADDomain,CertificateSSOConnector,ConnectionServer,EventDatabase,SAMLAuthenticator,SecurityServer,ViewComposer,VirtualCenter,Pod
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
get-hvhealth -service connectionserver
|
||||||
|
Returns health for the connectionserver(s)
|
||||||
|
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
get-hvhealth -service ViewComposer
|
||||||
|
Returns health for the View composer server(s)
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $true,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
[ValidateSet('ADDomain', 'CertificateSSOConnector', 'ConnectionServer', 'EventDatabase', 'SAMLAuthenticator', 'SecurityServer', 'ViewComposer', 'VirtualCenter', 'pod')]
|
||||||
|
[string]
|
||||||
|
$Servicename = 'ConnectionServer',
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($Servicename) {
|
||||||
|
'ADDomain' {
|
||||||
|
$healthinfo=$services.ADDomainHealth.ADDomainHealth_List()
|
||||||
|
}
|
||||||
|
'CertificateSSOConnector' {
|
||||||
|
$healthinfo=$services.CertificateSSOConnectorHealth.CertificateSSOConnectorHealth_list()
|
||||||
|
}
|
||||||
|
'ConnectionServer' {
|
||||||
|
$healthinfo=$services.ConnectionServerHealth.ConnectionServerHealth_list()
|
||||||
|
}
|
||||||
|
'EventDatabase' {
|
||||||
|
$healthinfo=$services.EventDatabaseHealth.EventDatabaseHealth_Get()
|
||||||
|
}
|
||||||
|
'SAMLAuthenticator' {
|
||||||
|
$healthinfo=$services.SAMLAuthenticatorHealth.SAMLAuthenticatorHealth_List()
|
||||||
|
}
|
||||||
|
'SecurityServer' {
|
||||||
|
$healthinfo=$services.SecurityServerHealth.SecurityServerHealth_List()
|
||||||
|
}
|
||||||
|
'ViewComposer' {
|
||||||
|
$healthinfo=$services.ViewComposerHealth.ViewComposerHealth_List()
|
||||||
|
}
|
||||||
|
'VirtualCenter' {
|
||||||
|
$healthinfo=$services.VirtualCenterHealth.VirtualCenterHealth_List()
|
||||||
|
}
|
||||||
|
'Pod' {
|
||||||
|
$healthinfo=$services.podhealth.PodHealth_List()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($healthinfo){
|
||||||
|
return $healthinfo
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Write-Output "No healthdata found for the $servicename service"
|
||||||
|
}
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function new-hvpodfederation {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Initiates a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Starts the initialisation of a Horizon View Pod Federation. Other pod's can be joined to this federation to form the Cloud Pod Architecture
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
new-hvpodfederation
|
||||||
|
Returns health for the connectionserver(s)
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$services.PodFederation.PodFederation_Initialize()
|
||||||
|
|
||||||
|
Write-Output "The Pod Federation has been initiated. Please wait a couple of minutes and refresh any open admin consoles to use the newly available functionality."
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove-hvpodfederation {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Uninitiates a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Starts the uninitialisation of a Horizon View Pod Federation. It does NOT remove a pod from a federation.
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Starts the Uninitiates a Horizon View Pod Federation.
|
||||||
|
Unintialises
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$services.PodFederation.PodFederation_Uninitialize()
|
||||||
|
|
||||||
|
Write-Output "The uninitialisation of the Pod Federation has been started. Please wait a couple of minutes and refresh any open admin consoles to see the results."
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function get-hvpodfederation {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Returns information about a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Returns information about a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
get-hvpodfederation
|
||||||
|
Returns information about a Horizon View Pod Federation
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$podfederationinfo=$services.PodFederation.PodFederation_Get()
|
||||||
|
return $podfederationinfo
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function register-hvpod {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Registers a pod in a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Registers a pod in a Horizon View Pod Federation. You have to be connected to the pod you are joining to the federation.
|
||||||
|
|
||||||
|
.PARAMETER ADUserName
|
||||||
|
User principal name of user this is required to be in the domain\username format
|
||||||
|
|
||||||
|
.PARAMETER remoteconnectionserver
|
||||||
|
Servername of a connectionserver that already belongs to the PodFederation
|
||||||
|
|
||||||
|
.PARAMETER ADPassword
|
||||||
|
Password of the type Securestring. Can be created with:
|
||||||
|
$password = Read-Host 'Domain Password' -AsSecureString
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
C:\PS>$adpassword = Read-Host 'Domain Password' -AsSecureString
|
||||||
|
C:\PS>register-hvpod -remoteconnectionserver "servername" -username "user\domain" -password $adpassword
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
register-hvpod -remoteconnectionserver "servername" -username "user\domain"
|
||||||
|
It will now ask for the password
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[String]
|
||||||
|
$remoteconnectionserver,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidatePattern("^.+?[@\\].+?$")]
|
||||||
|
[String]
|
||||||
|
$ADUserName,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[securestring]
|
||||||
|
$ADpassword,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
#if ($ADPassword -eq $null) {
|
||||||
|
#$ADPassword= Read-Host 'Please provide the Active Directory password for user $AdUsername' -AsSecureString
|
||||||
|
#}
|
||||||
|
|
||||||
|
$temppw = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($ADPassword)
|
||||||
|
$PlainPassword = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($temppw)
|
||||||
|
$plainpassword
|
||||||
|
$vcPassword = New-Object VMware.Hv.SecureString
|
||||||
|
$enc = [system.Text.Encoding]::UTF8
|
||||||
|
$vcPassword.Utf8String = $enc.GetBytes($PlainPassword)
|
||||||
|
|
||||||
|
$services.PodFederation.PodFederation_join($remoteconnectionserver,$adusername,$vcpassword)
|
||||||
|
write-host "This pod has been joined to the podfederation."
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function unregister-hvpod {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Removes a pod from a podfederation
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Starts the uninitialisation of a Horizon View Pod Federation. It does NOT remove a pod from a federation.
|
||||||
|
|
||||||
|
.PARAMETER Podname
|
||||||
|
The name of the pod to be removed.
|
||||||
|
|
||||||
|
.PARAMETER Force
|
||||||
|
This can be used to forcefully remove a pod from the pod federation. This can only be done while connected to one of the other pods in the federation
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Unregister-hvpod -podname PODNAME
|
||||||
|
Checks if you are connected to the pod and gracefully unregisters it from the podfedaration
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Unregister-hvpod -podname PODNAME -force
|
||||||
|
Checks if you are connected to the pod and gracefully unregisters it from the podfedaration
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$PodName,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
[bool]
|
||||||
|
$force,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$pods=$services.pod.pod_list()
|
||||||
|
$pod=$pods | where-object {$_.displayname -like "$podname"}
|
||||||
|
if ($force -eq $false){
|
||||||
|
if ($pod.localpod -eq $False){
|
||||||
|
Write-Error "You can only gracefully remove a pod when connected to that pod, please connect to a connection server in pod $podname"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
elseif ($pod.localpod -eq $True){
|
||||||
|
write-host "Gracefully removing $podname from the federation"
|
||||||
|
$services.PodFederation.PodFederation_Unjoin()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
elseif ($force -eq $true){
|
||||||
|
if ($pod.localpod -eq $True){
|
||||||
|
Write-Error "You can only forcefully remove a pod when connected to a different pod, please connect to a connection server in another pod then $podname"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
elseif ($pod.localpod -eq $false){
|
||||||
|
write-host "Forcefully removing $podname from the federation"
|
||||||
|
$services.PodFederation.PodFederation_eject($pod.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function set-hvpodfederation {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Used to change the name of a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Used to change the name of a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.PARAMETER Name
|
||||||
|
The new name of the Pod Federation.
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
set-hvpodfederation -name "New Name"
|
||||||
|
Will update the name of the current podfederation.
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$name,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$podservice=new-object vmware.hv.podfederationservice
|
||||||
|
$podservicehelper=$podservice.read($services)
|
||||||
|
$podservicehelper.getDatahelper().setdisplayname($name)
|
||||||
|
$podservice.update($services, $podservicehelper)
|
||||||
|
get-hvpodfederation
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function get-hvsite {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Returns information about the sites within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Returns information about the sites within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
get-hvsite
|
||||||
|
Returns information about the sites within a Horizon View Pod Federation.
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$hvsites=$services1.site.site_list()
|
||||||
|
return $hvsites
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function new-hvsite {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
Creates a new site within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
Creates a new site within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.PARAMETER Name
|
||||||
|
Name of the site (required)
|
||||||
|
|
||||||
|
.PARAMETER Description
|
||||||
|
Description of the site (required)
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
new-hvsite -name "NAME" -description "DESCRIPTION"
|
||||||
|
Returns information about the sites within a Horizon View Pod Federation.
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$name,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$description,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$sitebase=new-object vmware.hv.sitebase
|
||||||
|
$sitebase.displayname=$name
|
||||||
|
$sitebase.description=$description
|
||||||
|
$services.site.site_create($sitebase)
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function set-hvsite {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
renames a new site within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
renames a new site within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.PARAMETER Sitename
|
||||||
|
Name of the site to be edited
|
||||||
|
|
||||||
|
.PARAMETER Name
|
||||||
|
New name of the site (required)
|
||||||
|
|
||||||
|
.PARAMETER Description
|
||||||
|
New description of the site (required)
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
set-hvsite -site "CURRENTSITENAME" -name "NAME" -description "DESCRIPTION"
|
||||||
|
Returns information about the sites within a Horizon View Pod Federation.
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$sitename,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$name,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$description,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$siteid=$services1.site.site_list() | where-object {$_.base.displayname -like $sitename}
|
||||||
|
$siteservice=new-object vmware.hv.siteservice
|
||||||
|
$sitebasehelper=$siteservice.read($services, $siteid.id)
|
||||||
|
$sitebasehelper.getbasehelper().setdisplayname($name)
|
||||||
|
$sitebasehelper.getbasehelper().setdescription($description)
|
||||||
|
$siteservice.update($services, $sitebasehelper)
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
function remove-hvsite {
|
||||||
|
<#
|
||||||
|
.Synopsis
|
||||||
|
renames a new site within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
renames a new site within a Horizon View Pod Federation (Cloud Pod Architecture)
|
||||||
|
|
||||||
|
.PARAMETER Name
|
||||||
|
Name of the site (required)
|
||||||
|
|
||||||
|
.PARAMETER HvServer
|
||||||
|
Reference to Horizon View Server to query the virtual machines from. If the value is not passed or null then
|
||||||
|
first element from global:DefaultHVServers would be considered in-place of hvServer
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
set-hvsite -site "CURRENTSITENAME" -name "NAME" -description "DESCRIPTION"
|
||||||
|
Returns information about the sites within a Horizon View Pod Federation.
|
||||||
|
|
||||||
|
.NOTES
|
||||||
|
Author : Wouter Kursten
|
||||||
|
Author email : wouter@retouw.nl
|
||||||
|
Version : 1.0
|
||||||
|
|
||||||
|
===Tested Against Environment====
|
||||||
|
Horizon View Server Version : 7.3.2,7.4
|
||||||
|
PowerCLI Version : PowerCLI 6.5, PowerCLI 6.5.1
|
||||||
|
PowerShell Version : 5.0
|
||||||
|
#>
|
||||||
|
|
||||||
|
[CmdletBinding(
|
||||||
|
SupportsShouldProcess = $false,
|
||||||
|
ConfirmImpact = 'High'
|
||||||
|
)]
|
||||||
|
|
||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]
|
||||||
|
$name,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
$HvServer = $null
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
$services = Get-ViewAPIService -hvServer $hvServer
|
||||||
|
if ($null -eq $services) {
|
||||||
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
$siteid=$services1.site.site_list() | where-object {$_.base.displayname -like $name}
|
||||||
|
$services.site.site_delete($siteid.id)
|
||||||
|
|
||||||
|
[System.gc]::collect()
|
||||||
|
}
|
||||||
|
|
||||||
|
Export-ModuleMember Add-HVDesktop,Add-HVRDSServer,Connect-HVEvent,Disconnect-HVEvent,Get-HVPoolSpec,Get-HVInternalName, Get-HVEvent,Get-HVFarm,Get-HVFarmSummary,Get-HVPool,Get-HVPoolSummary,Get-HVMachine,Get-HVMachineSummary,Get-HVQueryResult,Get-HVQueryFilter,New-HVFarm,New-HVPool,Remove-HVFarm,Remove-HVPool,Set-HVFarm,Set-HVPool,Start-HVFarm,Start-HVPool,New-HVEntitlement,Get-HVEntitlement,Remove-HVEntitlement, Set-HVMachine, New-HVGlobalEntitlement, Remove-HVGlobalEntitlement, Get-HVGlobalEntitlement, Set-HVApplicationIcon, Remove-HVApplicationIcon, Get-HVGlobalSettings, Set-HVGlobalSettings, Set-HVGlobalEntitlement, Get-HVResourceStructure, Get-hvlocalsession, Get-HVGlobalSession, Reset-HVMachine, Get-HVHealth, new-hvpodfederation, remove-hvpodfederation, get-hvpodfederation, register-hvpod, unregister-hvpod, set-hvpodfederation,get-hvsite,new-hvsite,set-hvsite,remove-hvsite
|
||||||
|
|||||||
Reference in New Issue
Block a user