# prtg-ExCasUser.ps1 # # 20130124 Ver 1.0 Frank Carius # # # PRTG Custom Module to get the current active Users für OWA/RPC # parts # http://www.mikepfeiffer.net/2011/04/determine-the-number-of-active-Users-on-exchange-2010-client-access-servers-with-PowerShell/ param ( [string]$server= "nawex001" # specify Servers, multiple servers using "comma" as separator ) write-host "Start PRTG Sensor" write-host "Server:" $Server $serverlist = $server.split(",") write-host "Serverlist count:" $Serverlist.count $result="`r`n" foreach ($server in $serverlist){ $RPC = (Get-Counter "\MSExchange RpcClientAccess\User Count" -ComputerName $server).CounterSamples[0].CookedValue $OWA = (Get-Counter "\MSExchange OWA\Current unique Users" -ComputerName $server).CounterSamples[0].CookedValue $EAS = (Get-Counter "\MSExchange ActiveSync\Ping Commands Pending" -ComputerName $server).CounterSamples[0].CookedValue $result+=" `r`n" $result+=" OWA("+$server+")`r`n" $result+=" "+$OWA+"`r`n" $result+=" Count`r`n" $result+=" Absolute`r`n" $result+=" `r`n" $result+=" `r`n" $result+=" RPC("+$server+")`r`n" $result+=" "+$RPC+"`r`n" $result+=" Count`r`n" $result+=" Absolute`r`n" $result+=" `r`n" $result+=" `r`n" $result+=" EAS("+$server+")`r`n" $result+=" "+$EAS+"`r`n" $result+=" Count`r`n" $result+=" Absolute`r`n" $result+=" `r`n" } $result+="ExCASUser:"+$arg+"`r`n" $result+="" write-host "End: ExitCode "$error.count Write-host "Sending Result to output pipeline" $result if ($error) { #write-host "Found Errors" EXIT 1 }