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

)