Update: LazyTS v1.1

I found some time over the week-end to fix some bugs and add a few things to LazyTS. You'll now be able to quickly search though the displayed data using the small highlight util and open a Remote Desktop connection using the Shadow feature (View and Control)

See this link for more information about RDP Shadow.

What is LazyTS ?

LazyTS is a PowerShell script to manage Sessions and Processes on local or remote machines. It also allows you to Disconnect/Stop sessions and Send Interactive message to one or more sessions.

This tool is using the module PSTerminalService which relies on the Cassia .NET Library.I used Sapien PowerShell Studio 2014 to which make life easier if you want to start building WinForms tools and add PowerShell code.

Feature requests and Bugs report
I also want to thank those who are sending me features request and reporting bugs ! This is greatly helpful !!! Merci!! You can contact me using info (at) lazywinadmin.com

2015/03/04 Update: Fixed issue when using RDP Shadow and getting the error "This computer name is invalid"
2015/03/02 Update: Fixed a small issue where you got the following message : Exception setting "Item": "Exception calling "Set_Item" with "2" argument(s): "Cannot set Column 'CurrentTime' to be null. Please use DBNull instead."" This was related to an issue with ConvertTo-DataTable

LazyTS v1.1

Apart of a couple of bugs fixes and minor changes, I added two features:

  • Highlight util
    • You can easily search for a string in the displayed data
  • Remote Desktop Shadow
    • Allows you to View or Control a specific session
    • By default it requires the user to accept your request. (this can be changed using a group policy object)
Highlight util

Remote Desktop (Shadow mode)

Download from the LazyTS page

Thanks for reading! If you have any questions, leave a comment or send me an email at [email protected] I invite you to follow me on Twitter @lazywinadm / Google+ / LinkedIn. You can also follow the LazyWinAdmin Blog on Facebook Page and Google+ Page.


  1. Out of curiosity, which components were you thinking of adding, or modifying? I may have interest in extending this module, but would like to get a sense of how complete it was as of last update.

  2. Hi Eric,

    Well there are so many NetBackup command line tools available...

    At first I just wanted to report some information to help the Storage/System Admins with their tasks and improve visibility, that was my priority.

    A nice to have would be to... being able to add, change some settings...invoke some re-scan, ...etc..

    Hope this give you a better idea.

  3. Nice, thanks for it.

  4. I like your nickname, and there are other blogs that use it too. But I think the entire lazy sysadmin concept is major horsecrap. People are MUCH more mentally lazy than physically. A lazy person would rather do manual labor instead of learning something daunting. Lazy people don't do automation because they are lazy and don't want to learn. I remember a fellow who was copy pasting THOUSANDS of email addresses from QuickBooks into the email, because he didn't want to bother learning to do it programmatically.
    The so called lazy sysadmins who use esoteric regexes all day, spend the time saved by learning more regexes for other projects. There are not really doing less work, now, are they.

  5. Totally understood. It is kind of a vast territory to cover, and there are many things a person might do.

    I specifically was looking to wrap some of the behaviors that would be needed to restore the most recent backup of a SQL database. Like this like, but using PS:


    This was close, but the script doesn't seem to actually look at the database backup to see how many data/log files there are in order to properly construct the MOVE TO statements.

    It seemed like your modules might be a good foundation to work from. I'm continuing to pursue it with DCVast now, but it is rather slow. Thanks for your work on this in any case!

  6. Search after search on sorting a datagridview brought me to this page. However, I was not using data that was part of a data set...

    What I found was I could sort the existing data, already in the grid, by doing:
    $direction = [System.ComponentModel.ListSortDirection]::Ascending
    $GrpUserDataGrid2a.Sort($GrpUserDataGrid2a.Columns[2], $direction)

  7. Thanks Jean-Claude.

    True, but I noticed that this only work if you convert the data to a database object first.
    If you send the output of PowerShell into it straight, my sorting does not work.

    Might be related to the function Load-DataGridView that I use.

  8. Merci Seyfallah! :-)
    Je viens de rajouter ton site dans mon feedly

  9. Hum... ok :-) Thanks for your comment.
    I play on the fact that lazy admin does not mean they are really lazy (mentally)...they just want to get the job done and not re-do the same task over and over again. That's why this blog focus on scripting/automation... Hope you got the idea of my blog's name.