Определяем количество активных пользователей на Exchange 2010 Client Access Server


Иногда нужно быстро и точно определить количество клиентских OWA и RPC соединений, для того чтобы понимать сколько человек будут звонить по телефону с криками» У МЕНЯ НЕ РАБОТАЕТ ПОЧТА!!!» , если мы  вдруг решили перезагрузить наш CAS прямо сейчас. 🙂 И в этом нам поможет функция

Get-CASActiveUsers

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
      }
    }
  }
}

Просто добавим функцию и укажем параметр -ComputerName :

Get-CASActiveUsers -ComputerName cas1,cas2

Функцию Get-ClientAccessServer также можно использовать с конвейером  :

Get-ClientAccessServer | Get-CASActiveUsers

Выполнение функции может занять какое-то время, и если клиенты отключаются или подключаются,  наши данные, естественно, будут изменяться.

Реклама

Определяем количество активных пользователей на Exchange 2010 Client Access Server: 2 комментария

  1. Здравствуйте.
    импортировал функцию, но при выполнении любой из команд валится ошибка

    Get-Counter : Указанные объекты не найдены на этом компьютере.
    C:\temp\owa.ps1:16 знак:25
    + $RPC = Get-Counter <<<< "\MSExchange RpcClientAccess\User Count" -ComputerName $_
    + CategoryInfo : InvalidResult: (:) [Get-Counter], Exception
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand

    Get-Counter : Указанный счетчик не найден.
    C:\temp\owa.ps1:17 знак:25
    + $OWA = Get-Counter <<<< "\MSExchange OWA\Current Unique Users" -ComputerName $_
    + CategoryInfo : InvalidResult: (:) [Get-Counter], Exception
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand

    Не удается индексировать в массив NULL.
    C:\temp\owa.ps1:20 знак:51
    + "RPC Client Access" = $RPC.CounterSamples[ <<<< 0].CookedValue
    + CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

    ps MS exchange 2007

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s