Showing posts from November, 2021

Say No to Sh!tty Passwords

A couple of months ago, I shared some password policy advice as one of my Five Easy Security Wins in Windows . Changing your password policy to a 365-day expiration and 15-character minimum is easy and far more secure than shorter password requirements, but it isn't impossible for people to still set bad passwords. Without a password checker in place, users can still set truly terrible passwords for their Windows logins. I needed to change that in my environment, and in my search for just the right tool, I found Lithnet Password Protection (LPP) for Active Directory . I'll share some background info about why implementing LPP was necessary, and give a quick run-down on how to set it up on Domain Controllers.   Shitty Passwords Everywhere I have seen no shortage of truly awful passwords in my career as a sysadmin. For whatever reason, end users seem convinced that they need to tell IT what their passwords are if they need assistance. I have never really wanted to know people'

PowerShell and ...Web Development?

Being on a team of two responsible for anything even tangentially related to technology, I've ended up wearing more hats than I ever expected I would. Thankfully, my career has been pretty consistently Windows-centric so I have had opportunity to learn and fall in love with PowerShell as a scripting and automation language... which, side note, is why I use cmdlette as my online moniker on GitHub, Twitter, etc. PowerShell scripts I've written have performed all sorts of tasks from making full vhd backups of virtual machines on Hyper-V servers to scraping event logs for security events. Recently, I've been using PowerShell as a pocket-sized web developer. Sure when all you have is a hammer everything looks like a nail, but PowerShell is much more like a hammer with a multitool built into the handle. PowerShell and HTML One hat I've had to wear being on a tiny team now is that of web developer. Thankfully, I wasn't tasked with anything too complex--just a basic, lightw

FrankenCode: Parsing Email Data Elements into a Database

It's not gonna be pretty, but I'm gonna stitch together some Python code components to make a functional thing. [ maniacal laughter!!! ] The business problem to solve I get daily grain market emails from which I need to extract prices, and drop into a database. This should be automated but I've been either paying for this data or performing manual data entry. I've been putting it off for a few years but it's time to tackle this project and make life easier for present and future me. I'm going to be using a combination of Python tools I've used before and tools I haven't used, and monstrously stitching them together to accomplish the thing I set out to accomplish. First let me farmsplain the commodity grain markets. The market price of a bushel of corn can be found on Barchart . When a farmer brings their corn to the elevator, they will not simply receive the market price, they will collect the market price +/- the  basis  charged by the elevator. The b