Exchange 2010: Client Verbindungen der CAS Server anzeigen

Ab und an, kann man es ja doch mal ganz nützlich sein, wenn man weiß welcher CAS Server wie viele Client Verbindungen bedient. Könnte bei geplanten Updates oder bei Problemen mit dem Loadbalancer hilfreich werden.

Es gibt zwar schon einige Scripte, aber die funktionieren nicht auf Servern mit deutschem Betriebssystem / deutscher Exchange Installation, da hier die Performance Counter, welche durch das Script abgefragt werden, anders heißen.

Hier also eine Version, die auf Servern in deutscher Sprache und mit Exchange 2010 lauffähig ist:

$casservers = Get-ClientAccessServer

$stats = @()
foreach ($casserver in $casservers)
{
	$casservername = $casserver.name

	$OWA = $NULL
	$RPC = $NULL
	$EAS = $NULL
	$EWS = $NULL
	$POP = $NULL
	$IMAP = $NULL
	
	$OWA = (Get-Counter "\MSExchange OWA\Aktuelle eindeutige Benutzer" -ComputerName $casservername).CounterSamples[0].CookedValue
	$RPC = (Get-Counter "\MSExchange RPCClientAccess\Anzahl Benutzer" -ComputerName $casservername).CounterSamples[0].CookedValue
	$EAS = (Get-Counter "\MSExchange ActiveSync\Anforderungen/Sek." -ComputerName $casservername).CounterSamples[0].CookedValue
	$EWS = (Get-Counter "\MSExchangeWS\Anforderungen/s" -ComputerName $casservername).CounterSamples[0].CookedValue
	$POP = (Get-Counter "\MSExchangePOP3(_total)\Aktuelle Verbindungen" -ComputerName $casservername).CounterSamples[0].CookedValue
	$IMAP = (Get-Counter "\MSExchangeIMAP4(_total)\Aktuelle Verbindungen" -ComputerName $casservername).CounterSamples[0].CookedValue
	
	$OWA = "{0:N0}" -f $OWA
	$RPC = "{0:N0}" -f $RPC
	$EAS = "{0:N0}" -f $EAS
	$EWS = "{0:N0}" -f $EWS
	$POP = "{0:N0}" -f $POP
	$IMAP = "{0:N0}" -f $IMAP
	
	$stats += new-object PSObject -property @{CASServer="$casservername";OWA="$OWA";RPC="$RPC";EAS="$EAS";EWS="$EWS";POP3="$POP3";IMAP4="$IMAP"}
}

$stats | ft

Einfach in einer PS1 Datei abspeichern und via Exchange Management Shell ausführen. Die Ausgabe sieht dann in etwa so aus:

Verbindungen

Und ja, hier war der Loadbalancer die Ursache.

7 Gedanken zu „Exchange 2010: Client Verbindungen der CAS Server anzeigen“

  1. noch mal eine Korrektur, meines Beitrages vom 14.Juni 2016…..

    Scheinbar ist der Counter von der installierten Build Nummer abhängig.
    Bei einem anderen Kunden, welche die Version 14.2 (Build 247.5) installiert haben, musste der Punkt wieder hinzugefügt werden.

    $EAS = (Get-Counter „\MSExchange ActiveSync\Anforderungen/Sek.“

    Antworten
  2. Tag zusammen,

    ich habe nochmal die Englischen Counter raus gesucht ;)

    $OWA = (Get-Counter „\MSExchange OWA\Current Unique Users“ -ComputerName $casservername).CounterSamples[0].CookedValue

    $RPC = (Get-Counter „\MSExchange RpcClientAccess\User Count“ -ComputerName $casservername).CounterSamples[0].CookedValue

    $EAS = (Get-Counter „\MSExchange ActiveSync\Requests/sec“ -ComputerName $casservername).CounterSamples[0].CookedValue

    $EWS = (Get-Counter „\MSExchangeWS\Requests/sec“ -ComputerName $casservername).CounterSamples[0].CookedValue

    $POP = (Get-Counter „\MSExchangePOP3(_total)\Connections Current“ -ComputerName $casservername).CounterSamples[0].CookedValue

    $IMAP = (Get-Counter „\MSExchangeIMAP4(_total)\Current Connections“ -ComputerName $casservername).CounterSamples[0].CookedValue

    Antworten
  3. Hi Frank,

    bei unserem Exchange Server 2010 kam die Fehlermeldung:

    Get-Counter : Der angegebene Leistungsindikator wurde nicht gefunden.
    $EAS = (Get-Counter <<<< "\MSExchange ActiveSync\Anforderungen/Sek."

    habe den Punkt am Ende von "MS…\Anforderungen/Sek." <— entfernt, jetzt funktioniert das Script ohne Fehlermeldung.

    Die Zeile sieht nun also folgendermaßen aus:
    $EAS = (Get-Counter "\MSExchange ActiveSync\Anforderungen/Sek" -ComputerName $casservername).CounterSamples[0].CookedValue

    Grüße
    George

    Antworten
  4. Hi Frank,

    mein Server bringt folgende Fehlermeldung….

    OWA=“$OWA“RPC=“$RPC“EAS=“$EAS“EWS=“$EWS“POP3=“$POP3″IMAP4=“$IMAP“ : Unerwartetes Token „OWA=“$OWA“RPC=“$RPC“EAS=“$EAS“E
    WS=“$EWS“POP3=“$POP3″IMAP4=“$IMAP““ im Ausdruck oder in der Anweisung.
    + CategoryInfo : ParserError: (OWA=“$OWA“RPC=“…3″IMAP4=“$IMAP“:String) [], ParseException
    + FullyQualifiedErrorId : UnexpectedToken

    Idee?

    Antworten

Schreibe einen Kommentar