Public/FarmDetails/Get-CitrixServerPerformance.ps1


<#PSScriptInfo
 
.VERSION 1.0.8
 
.GUID a90021c2-9c0b-462b-a0c2-5bffaadab328
 
.AUTHOR Pierre Smit
 
.COMPANYNAME iOCO Tech
 
.COPYRIGHT
 
.TAGS Citrix
 
.LICENSEURI
 
.PROJECTURI
 
.ICONURI
 
.EXTERNALMODULEDEPENDENCIES
 
.REQUIREDSCRIPTS
 
.EXTERNALSCRIPTDEPENDENCIES
 
.RELEASENOTES
Created [09/06/2019_12:53]
Updated [15/06/2019_01:11]
Updated [15/06/2019_13:59] Updated Reports
Updated [01/07/2020_14:43] Script Fle Info was updated
Updated [01/07/2020_15:42] Script Fle Info was updated
Updated [01/07/2020_16:07] Script Fle Info was updated
Updated [01/07/2020_16:13] Script Fle Info was updated
Updated [06/03/2021_20:58] Script Fle Info was updated
Updated [15/03/2021_23:28] Script Fle Info was updated
 
#>
 

















<#
 
.DESCRIPTION
Function for Citrix XenDesktop HTML Health Check Report
 
#>



# .ExternalHelp XDHealthCheck-help.xml


Function Get-CitrixServerPerformance {
    [CmdletBinding()]
    PARAM(
        [Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
        [ValidateNotNull()]
        [ValidateNotNullOrEmpty()]
        [array]$Serverlist,
        [Parameter(Mandatory = $true, Position = 1)]
        [ValidateNotNull()]
        [ValidateNotNullOrEmpty()]
        [PSCredential]$RemoteCredentials)

    $CitrixServerPerformance = @()
    foreach ($Server in $Serverlist) {
        $SingleServer = Get-CitrixSingleServerPerformance -Server $Server -RemoteCredentials $RemoteCredentials
        $CusObject = New-Object PSObject -Property @{
            DateCollected      = (Get-Date -Format dd-MM-yyyy_HH:mm).ToString()
            Servername         = $SingleServer.ServerName
            'CPU %'            = $SingleServer.'CPU %'
            'Memory %'         = $SingleServer.'Memory %'
            'CDrive % Free'    = $SingleServer.'CDrive % Free'
            'DDrive % Free'    = $SingleServer.'DDrive % Free'
            Uptime             = $SingleServer.Uptime
            'Stopped Services' = $SingleServer.StoppedServices
        } | Select-Object ServerName, 'CPU %', 'Memory %', 'CDrive % Free', 'DDrive % Free', Uptime, 'Stopped Services'
        $CitrixServerPerformance += $CusObject
    }

    $CitrixServerPerformance
} #end Function