From time to time, it can be quite useful to know which CAS server is serving how many client connections. This could be helpful for planned updates or problems with the load balancer.
There are already some scripts, but they do not work on servers with a German operating system / German Exchange installation, as the performance counters that are queried by the script are called differently here.
So here is a version that runs on servers in German and with Exchange 2010:
$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\Current Unique User" -ComputerName $casservername).CounterSamples[0].CookedValue $RPC = (Get-Counter "\MSExchange RPCClientAccess\Number of users" -ComputerName $casservername).CounterSamples[0].CookedValue $EAS = (Get-Counter "\MSExchange ActiveSync\Requests/Sec." -ComputerName $casservername).CounterSamples[0].CookedValue $EWS = (Get-Counter "\MSExchangeWS\Requests/s" -ComputerName $casservername).CounterSamples[0].CookedValue $POP = (Get-Counter "\MSExchangePOP3(_total)\CurrentConnections" -ComputerName $casservername).CounterSamples[0].CookedValue $IMAP = (Get-Counter "\MSExchangeIMAP4(_total)\CurrentConnections" -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
Simply save it in a PS1 file and execute it via the Exchange Management Shell. The output will look something like this:
And yes, the load balancer was the cause here.
@Martin genau das habe ich mich auch gefragt!
Kann ich das Script auch für 2013 nutzen oder muss es angepasst werden?
Gibt es das auch für den Exchange 2013/2016?
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.“
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
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
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?
Hi,
lass die Befehle mal einzeln laufen, dann sieht man etwas besser was schief läuft.
Gruß, Frank