SELECT RPC,OWA,EAS,EWS
FROM OpenExchangePSQuery(
POWERSHELL, '
### Active Client status
function Get-CASActiveUsers {
[CmdletBinding()]
param(
[Parameter(Position=0, ParameterSetName="Value", Mandatory=$true)]
[String[]]$ComputerName,
[Parameter(Position=0, ParameterSetName="Pipeline", ValueFromPipelineByPropertyName=$true, Mandatory=$true)]
[String]$Name
)
process {
switch($PsCmdlet.ParameterSetName) {
"Value" {$servers = $ComputerName}
"Pipeline" {$servers = $Name}
}
$result = @()
$servers | %{
$RPC = Get-Counter "\MSExchange RpcClientAccess\User Count" -ComputerName $_
$OWA = Get-Counter "\MSExchange OWA\Current Unique Users" -ComputerName $_
$EAS = get-counter "\MSExchange ActiveSync\Current Requests" -ComputerName $_
$EWS = get-counter "Web Service(_Total)\Current Connections" -ComputerName $_
$result += New-Object PSObject -Property @{
Server = $_
"RPC" = $RPC.CounterSamples[0].CookedValue
"OWA" = $OWA.CounterSamples[0].CookedValue
"EAS" = $EAS.CounterSamples[0].CookedValue
"EWS" = $EWS.CounterSamples[0].CookedValue
}
}
return $result
}
}
$ACT= get-clientaccessserver | sort name | get-CASActiveUsers
$ACThtml = $ACT | select @{Expression={$_.Server};Name="Client Access Server"}, @{Expression={$_.RPC};Name="RPC"}, @{Expression={$_.OWA};Name="OWA"}, @{Expression={$_.EWS};Name="EWS"}, @{Expression={$_.EAS};Name="EAS"}
$ACThtml;
', POWERSHELL
)