Find-CitrixIdleUser.ps1 (Powershell)

Added by Brandon Shell , last edited by Brandon Shell on May 11, 2008  (view change)
Tags: 

Finds users with Idle time greater than value passed and logs them off if you pass the -logoff flag

www.bsonposh.com

Description

Finds users with Idle time greater than value passed and logs them off if you pass the -logoff flag

www.bsonposh.com

Download

Find-CtirixIdleUser.ps1

Code Snippet

Write-Host
Write-Host " Find-CitrixIdleUser.ps1:" -fore Green
Write-Host "   Finds users with Idle time greater than value passed"
Write-Host
Write-Host " Parameters:" -fore Green
Write-Host "   -Time                  : Optional. Server to Get Print Info From "
Write-Host "   -Day                   : Optional. Checks Days of Idle Time "
Write-Host "   -Hour                  : Optional. Checks Hours of Idle Time (Default)"
Write-Host "   -Minute                : Optional. Checks Minutes of Idle Time"
Write-Host "   -Logoff                : Optional. Logs User off if Idle Time exceeds Time"
Write-Host "   -Verbose               : Optional. Show Verbose Output"
Write-Host "   -Help                  : Optional. Displays This"
Write-Host
Write-Host " Examples:" -fore Green
Write-Host "   Finds Users who have been idle 2 hours and return AppName, UserName, SessionID, and ClientName" -fore White
Write-Host "     Find-CitrixIdleUser.ps1 2 -hour | ft AppName,UserName,SessionID,ClientName -auto" -fore Yellow
Write-Host

User Rating?

Disclaimer

These software applications are provided to you as is with no representations, warranties or conditions of any kind. You may use and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the software application may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the software application fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the software application. In no event should the code be used to support of ultra-hazardous activities, including but not limited to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SOFTWARE APPLICATION, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the code.

Great Scripts!

Any ideas what the following error would mean:

Exception getting "LastInputTime": "Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))"
At C:\Scripts\Find-CitrixIdleUser.ps1:43 char:38
+     $ctxDate = $session.LastInputTime( <<<< 1)

LastInputTime is a method on the Session object that returns the Last time a key or mouse move was registered.

What kind of Farm are you using?

I added an updated version that will present a friendly error and will give you a progress bar as well as add a property called IdleTime.

  • Add to Bookmarks