I Actually Miss Outlook

I never thought it would come to this but I actually miss Microsoft Outlook since converting to a Linux-based desktop at my new role. I’m using Evolution but it just falls short in several ways and none of the alternatives do anything to reduce my frustration in dealing with email.

Evolution Hangs

Evolution hangs for 20-30 seconds when attempting to view large HTML emails (specifically long back and forth threads from Service Now). Every. Damn. Time.

Evolution Doesn’t Word Wrap Properly

Evolution doesn’t word wrap properly… unless you’re using an ancient ~80 characters wide terminal. I’m sure there’s an RFC out there somewhere that contradicts my assertions regarding email and word wrap but show me another email client that implements word wrapping in the same way that Evolution does. I’ll be waiting.

Evolution hard word wraps outgoing messages at 72 characters by default with no way to change the default. You can select all the text on a reply and change the paragraph type from “Normal” to “Preformatted” to un-wrap the text but there is no way to make this the default behavior. Additionally, the “word wrap” menu option doesn’t do anything in Preformatted mode (or any other mode?), which makes me wonder why the email client even offers such an option. I want behavior where there is no hard wrapping but allow window-width based word wrapping like every other modern mail client (including web mail). And configurable defaults for these options.

Evolution Lacks “Quick Steps”

Evolution lacks the “Quick Steps” feature of Outlook where I can click one button (or use the corresponding keyboard shortcut) and have multiple actions occurs on the currently select email(s). My most common use case is to forward an email to my Trello board and then move it into a folder for archive. Quick Steps offers a very efficient way of working with email. Evolution lacks any of this efficiency.

Thunderbird and Co. are a Mess

Thunderbird/Lightning/ExQuilla/DavMail, etc. feel loosely integrated. Failure of any one component means the whole experience breaks down. ExQuilla is subscription-based add-on to Thunderbird that provides Exchange support and to be fair, I haven’t even given ExQuilla a fair chance using the 60 day trial. I might go back down this path to see where things are at today but without any specific hope of success. It’s very unlikely I’ll ever pay for Exchange support in Thunderbird.

Outlook Web Access

Outlook Web Access is workable but lacks anything that makes working in Outlook efficient. I also hate webmail because I’m locked in a browser and the number of web applications or browser upgrades that require regular restarts of my browser to refresh a session or install a plugin/add-on/update make having a consistently open email client somewhat frustrating.

Outlook in a Virtual Machine

Outlook in a VM is almost tolerable but is still painful when working with attachments.

Sticking with Evolution

Despite all my complaining, I’ll likely stick with Evolution… and be bitter about it.

PowerShell 10961B Training – Top 5 Take Aways

I recently attended the Microsoft 10961B PowerShell training course. In the spirit of sharing, here are my top five take aways for those new to PowerShell:

Take Away 1: Learning and using PowerShell is all about command and knowledge discovery.

Three cmdlets that help us learn about PowerShell concepts, lookup commands and inspect objects:

  1. Get-Help – Read help information for topics and commands
  2. Get-Command – Find commands based on partial names / concepts
  3. Get-Member – Discover object properties and methods

There are approximately 24 “core” cmdlets that a seasoned PowerShell user will want to memorize. The rest can be discovered on-demand. No need for memorizing thousands of commands.

Take Away 2: Most day-to-day tasks are generally performed on the command line, not by running complex scripts.

Scripting is powerful and useful but it probably makes sense to focus on using PowerShell as a shell first and transitioning to scripting once we want to do more advanced things.

The Microsoft terminal for hosting cmd.exe and powershell.exe is… not so great. Alternative terminal programs to host the PowerShell engine are available. I prefer ConEmu. Install it locally or on a terminal server “jumpbox” and use PS Remoting!

Take Away 3: Everything is an object.

Output of cmdlets are objects that can be fed into other cmdlets to form powerful pipelines of processing. Unlike traditional UNIX/Linux shells, PowerShell commands return objects, not text. While text parsing can be used in PowerShell, most use cases do not require it as there is often a simpler, more direct way of accomplishing the same thing using object properties or methods.

Take Away 4: Remoting is powerful!

Enabled by default on Server 2012 and newer. Uses a single port. Secure. Allows for one-to-one or one-to-many management of remote systems. PS Remoting is a great alternative to logging into remote servers with RDP to perform manual GUI tasks.

It’s almost like SSH in UNIX/Linux, but flavoured for Microsoft Windows.

Take Away 5: PowerShell is the current and future best practice for managing Microsoft Windows.

With the release of Windows 8 / Server 2012 (PS 3.0 and newer), Microsoft has provided over 1500 cmdlets to manage their flagship operating systems. It is clear that PowerShell is how Microsoft intends to move management of Windows forward from here on out.

Summary

Start learning PowerShell today to stay current with modern practices for management and administration of Microsoft products!

RDP Inception and Password Changes

A common pain point that seems to come up regularly among technical folks is how to change a Windows account password over an RDP connection.

The correct answer is Control+Alt+End, right? Of course.

However, this doesn’t work as you might expect when you’re lost in RDP “Inception“. RDP inception is when you’re multiple levels deep with RDP connections, such as would be common when using one or more “jump boxes” or intermediate systems.

Example: Local Device->RDP1->RDP2->RDP3

When you’re lost in RDP inception, the Control+Alt+End command is sent to the very first RDP session you are connected to. In our example above, that would be RDP1. So what about changing your password on RDP2, RDP3 or any other systems beyond RDP1? The On-Screen Keyboard (osk.exe) is your new friend. Using osk.exe to bring up the Control+Alt+Del menu is not necessarily intuitive, though.

The Method

  1. Launch osk.exe in the RDP session for which you want to change your password.
  2. Hold down Control+Alt on your physical keyboard connected to your local device.
  3. Click “Del” using the On-Screen Keyboard running in the RDP session for which you want to change your password.

The Control+Alt+Del menu will now appear within the desired RDP session, allowing you to change your password.

Note: The “Desktop Experience” feature appears to be required for osk.exe to launch on Windows Server 2012 and perhaps also 2008 (untested).