<sampler name="PowerShell_WinUsers">
	<sampleInterval>
		<data>300</data>
	</sampleInterval>
	<plugin>
		<toolkit>
			<samplerScript>
				<data>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -file PowerShell_WinUsers.ps1</data>
			</samplerScript>
			<script>
				<contents>
					<data># Uncomment below line for non-English versions of Windows
# (chcp 65001 &gt;$null 2&gt;&amp;1)

$cmdOut = quser /SERVER:localhost 2&gt;&amp;1
# Debug
# Write-Output $cmdOut
# Write-Output $LastExitCode

if ($cmdOut -match &quot;LOGON TIME&quot;)
{
  ((($cmdOut) -replace &apos;^&gt;&apos;, &apos;&apos;) -replace &apos;\s{2,}&apos;, &apos;,&apos;) | ForEach-Object {
    if ($_.Split(&apos;,&apos;).Count -eq 5)
    {
      Write-Output ($_ -replace &apos;(^[^,]+)&apos;, &apos;$1,&apos;).Trim()
    }
    else
    {
      Write-Output $_.Trim()
    }
  }
}
elseif ($cmdOut -match &quot;No User exists&quot;)
{
  Write-Output &quot;USERNAME,SESSIONNAME,ID,STATE,IDLE TIME,LOGON TIME&quot;
  Write-Output &quot;*,quser command returned no user.&quot;
}
else
{
  Write-Output &quot;USERNAME,SESSIONNAME,ID,STATE,IDLE TIME,LOGON TIME&quot;
  Write-Output &quot;*,quser command returned an error. Please check Netprobe log.&quot;
  Write-Error [String]$cmdOut
}
exit</data>
				</contents>
				<filename>
					<data>PowerShell_WinUsers.ps1</data>
				</filename>
			</script>
			<showExecutionDuration>true</showExecutionDuration>
		</toolkit>
	</plugin>
</sampler>