Determinar o número de usuários ativos em servidores Exchange 2010 Client Access com PowerShell
Procurando uma maneira rápida de ver quantos usuários estão atualmente conectados a cada um de seus Client Access Servers? Isso pode ser útil se você quiser ter uma idéia aproximada sobre a distribuição de carga, ou quando você está se preparando para drenar parar um servidor em uma matriz de CAS antes da manutenção. É sempre bom saber quantos usuários podem ser afetados por um tomando um servidor para baixo. A função PowerShell seguinte irá pegar os dados do contador de desempenho de cada servidor para determinar o número de ativo OWA e conexões RPC.
————————————————————————————————————————————————————————————
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}
}
$servers | %{
$RPC = Get-Counter "\MSExchange RpcClientAccess\User Count" -ComputerName $_
$OWA = Get-Counter "\MSExchange OWA\Current Unique Users" -ComputerName $_
New-Object PSObject -Property @{
Server = $_
"RPC Client Access" = $RPC.CounterSamples[0].CookedValue
"Outlook Web App" = $OWA.CounterSamples[0].CookedValue
}
}
}
}
--------------------------------------------------------------------------------------------------------------------------------
Basta adicionar a função para a sessão de shell, e quando você executá-lo, especifique um ou mais nomes de servidores usando o parâmetro-ComputerName:
Get-CASActiveUsers -ComputerName cas1,cas2

A função também é escrito para suportar entrada do pipeline, assim você pode canalizar o cmdlet Get-ClientAccessServer para ele também:
Get-ClientAccessServer | Get-CASActiveUsers

Pode demorar alguns minutos antes de os valores são atualizados como clientes ligar ou desligar. Por exemplo, se você comparar os valores retornados pela função antes e depois de abrir o Outlook e OWA em um par de máquinas, você pode perceber que ele pode demorar alguns minutos antes de os valores do contador refletir as alterações.
#ficaadica