I’ve been in IT for a long time. It has been exciting to see how the industry has changed and how it as adapted to new technologies. Even so, I appreciate situations where sometimes the “old ways” are still the best ways. For example, we no longer really need the ancient lmhosts file to help resolve NETBIOS names to IP addresses. However, there may be a few cases where lmhosts solves a problem and then wouldn’t it be nice to manage it with PowerShell?
Recently a reader, Matt Penny, shared a tip in a comment on one of my articles. He had a short and simple PowerShell function that he used to insert ToDo commands into his Pester test scripts. Although you could easily use it for other PowerShell work. Of course, I am always on the look out for inspiration so I took Matt’s idea and overworked it.
I don’t know about you but I always have a PowerShell session open and find it easier to manage my day right from a prompt. I find ways to use PowerShell whenever I can. Recently I started a project to help me manage my work and of course I created it in PowerShell. I had been keeping daily to-do lists on paper with little tasks or reminders. I work from home and don’t have an assistant or anything so I am responsible for my own schedule. Sometimes I need a little help remembering what to work on next or what’s upcoming. so I created a PowerShell module called MyTasks.
One of the attractive features in PowerShell v5 is PowerShellGet. This module includes commands which makes it easy to discover and install PowerShell modules from the Internet, or even your network. The modules are stored in online repositories. Microsoft maintains one called PSGallery. Typically you will use PowerShell commands to find and install modules. As a quick side note, while Microsoft appears to do some degree of review using the PowerShell Script Analyzer, there is no guarantee that modules you find online will work in your environment. That’s why the repository is untrusted by default. You can still download and install but you are accepting the potential risks. But that’s not the point here. It is pretty easy to download new modules, which includes DSC resources. However, new versions can be published to the online repository. As far as I know there is no notification mechanism. So you might have to periodically check to see if there are new versions available. Which means I wrote a tool.
I’m always on the lookout for new ways to do things. Often I’m trying to find a way to create something that is easy to use without requiring a lot of PowerShell scripting. I also like using the final result as teaching aids so even if you don’t need the end product, I hope you’ll pick up a trick or two that you can use in your own scripting projects. The task I had in mind today is a better way to get event log information. Not the events themselves, but rather the event log file. How many entries are in it? How big is it? How much of the configured log is being used? Here’s what I came up with.