The DevOps on Windows Toolbox

DevOps on Windows ToolboxWhile we’re certainly not the first technical folks to publish a list like this, we thought we’d share our DevOps on Windows Toolbox to give you some insight into the tools we use almost everyday. Basically it’s a list of software applications and utilities that we recommend for all you DevOpelers out there. These are just day-to-day tools, not systems that are part of larger solutions, but tools that help you do your job.

Full disclosure: none of these links are affiliate links nor do we have any connection with or are being compensated by any of the vendors here. We simply think these are great tools to use.

.NET Development

  • Visual Studio – This may be obvious, but Visual Studio is a great development environment, and a must have when working with any of the .NET languages (C#, etc.).
  • JetBrains ReSharper – If you’re using Visual Studio, then it’s basically a requirement that you also use the JetBrains ReSharper extension for Visual Studio. This tool gives you a huge productivity boost with Visual Studio and provides great code analysis/inspections, refactoring tools, an interactive unit test runner, and much more.
  • VisualSVN – We’ve talked about the VisualSVN Server before for hosting Subversion, but in terms of Subversion clients, VisualSVN provides great Subversion-Visual Studio integration for interacting with source control. VisualSVN makes it easy to do all of your basic SVN operations without leaving the Visual Studio window.
  • Productivity Power Tools – The 2012 version is linked here, but this Visual Studio extension gives you lots of useful tools within Visual Studio like “Open Command Prompt”, “Edit Project File”, and much more.
  • JetBrains dotPeek – The folks at JetBrains also provide a free .NET decompiler called dotPeek. This is a great, easy to use utility for browsing assemblies for which you don’t have the source code, and if you’re a ReSharper user, it uses many of the same navigation shortcuts for fast and easy browsing.

Scripting

PowerShell

  • PowerGUI – PowerGUI gives you a handy Visual Studio-esque IDE for your PowerShell development, including a nice debugger.

Python

  • ActivePython – As blasphemous as it may be to recommend another scripting language other than PowerShell for scripting on Windows, Python is a great scripting language to have in your toolbox. Knowing how to use a cross-platform scripting language can be invaluable in a mixed platform environment (like when you have to deal with Linux machines as well as Windows machines). ActivePython provides an easy to install Python distribution for Windows.
  • JetBrains PyCharm – If you couldn’t tell by now, we’re big fans of JetBrains’ products. PyCharm is an easy to use, but powerful Python IDE that includes a debugger, intellisense, and ReSharper-like code analysis. It’s a must have, even for the simplest of your Python scripts.

System Administration

General Utilities

  • CrystalDiskInfo – While you should definitely rely on your system administrators’ expertise and any vendor-provided disk management software when troubleshooting disk hardware issues, CrystalDiskInfo gives you a clean interface for getting diagnostic info about your disk hardware.
  • HeidiSQL – If you need to interact with MySQL databases, either as an administrator or for ad-hoc SQL queries, HeidiSQL gives you a nice “SQL Server Management Studio”-like interface for MySQL.
  • Microsoft Remote Server Administration Tools – Also known as RSAT, this provides you with several utilities used for remotely administering Windows machines. We have an entire article dedicated to it!
  • WinDirStat – WinDirStat provides a great hierarchical view of disk usage along with some neat little visualizations.

SysInternals Suite

As we’ve said before in many other articles, we’re big fans of the SysInternals suite of utilities. They’re invaluable for Windows system administration. There are many tools in the SysInternals Suite, but in particular you should have:

  • PsTools – This core suite includes many miscellaneous utilities for process management, service management, SID translation, and more.
  • Process Explorer – Process Explorer is like a Task Manager on steroids.
  • Process Monitor – This is a great tool for seeing real time operations by running processes on the file system, registry, etc.
  • TcpView – TcpView gives you a nicer interface than netstat for viewing network connections in real time.

Text Editors

Which text editor you use can be a hot button issue for many technologists. While most text editors these days have comparable feature sets, we tend to rely on these:

Miscellaneous Utilities

  • 7-zip – This is purely subjective, but 7-zip “feels” like a more efficient way of creating or working with archives (ZIP files, etc.) versus the built-in Windows Explorer ZIP file support. It supports numerous compression formats and includes a command line interface.
  • Cygwin – Again, this may sound blasphemous on a site that’s supposed to be all about Windows, but one shouldn’t ignore the value one can get from Unix-like utilities, especially for quick/one-off text munging one-liners. There are other ways to get basic Unix commands on Windows, but we like the way Cygwin packages things and provides it’s own nice little terminal.
  • Hoo WinTail – It’s not perfect, but Hoo WinTail is a handy tool for tailing log files (i.e. real time log viewing) on Windows, including support for filtering (inclusion, exclusion, regexes, etc.) and highlighting keywords and/or whole lines.
  • KeePass – KeePass is a great password management tool that we’ve written about before.
  • PicPick – PicPick is a nice screen capture tool that can be configured to intercept your “print screen” button. It comes with handy shape overlays like arrows which can be useful when you need to quickly create images for documentation or communicating with developers on issues with GUI applications.
  • TortoiseSVN – This is the de facto standard Subversion client for Windows. It works as a Windows Explorer extension, giving you a nice lightweight interface, with nice visual cues via Explorer icon overlays, and intuitive dialogs. It also optionally ships with a command line Subversion client for getting down and dirty with the command line.
  • WinMerge – Diff and merge tools can spark holy wars almost as bad as text editor choices, but WinMerge has a simple interface and supports diffing both files and directories.
  • WinSCP – When you need to perform remote file copies with Unix-like systems or systems that only offer SCP or SFTP connection options, WinSCP provides an intuitive interface for doing so.
  • WireShark – WireShark is a powerful tool for doing packet captures and packet analysis. It provides a low level view of the packets going on and off the wire and includes a flexible filter syntax along with a command line interface.

Again, our DevOps on Windows Toolbox here is just a list of utilities that help you perform your day-to-day tasks. Are there any other applications and tools that you absolutely have to have installed to do your day-to-day tasks? Let us know in the comments below!

 

 
Comments

What is your experience running cygwin on production systems? I’m starting to lean this way, winrm can be a pita. Cygwin with sshd/screen would probably make our lives easier but I’m not sure if cygwin would cause more issues.

Hi DMF!

My experience with Cygwin sshd has been less than stellar. It’s basically been something that’s mostly worked in a pinch, but can create other issues (especially around mapping permissions to domain accounts for access to network shares, etc.).

It depends on what you’re trying to do, but if you’re trying to do some sort of script/automation across multiple platforms, I would recommend inverting the problem. For example, instead of trying to find ways to remotely execute commands from Linux, OSX, and Unix systems in general on Windows machines, maybe drive driving those commands from Windows to the Unix machines; like using tools such as PuTTY’s plink.exe (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) as a command line SSH client from Windows boxes to Unix machines.

But if it’s all Windows-to-Windows command execution, I would recommend using things like PsExec or PowerShell.

Sorry, this might not be all that helpful and kind of vague, but long story short – I would not rely on Cygwin’s SSH server for production processes, but that’s just my personal opinion 🙂

Thanks!
Russ

With your listing of KeePass, I thought I’d pass along that there’s a handy portable version you can run from a usb drive so you can plug it into whichever pc and have access. Personally, I cowboyed up and ended up getting a password manager for my droids that syncs between all devices and backs up to dropbox as I don’t always have pc access with work lately, but the keepass I still use as a very reliable backup

http://portableapps.com/apps/utilities/keepass_portable

Leave a Reply