Technology Solutions for Everyday Folks

Tagged with 'tech'

Character-Perfect Fixed Width Import Files

Flintstones Cartoon Sewing Machine

One of my springtime projects at work was to button up a recently-refreshed process to transmit some billing data between systems. By 'recently-refreshed,' I mean 'finally made a process whereby a human doesn't have to manually generate a file which had been the de-facto process for the better part of twelve years. Due to the cascading effects of some staff turnover in the unit in question, IT was brought into the loop to help find a better way to work this process.

Read More

Simple, Yet Powerful Excel/Sheets Functions

Cartoon about functional programming

As a reflection exercise for a project I wrapped up a bit ago, combined as an exercise to make Future Me's life a Better Place, I pulled together a simple Google Sheets workbook to make a quick 'calculator' and balancing mechanism to help keep track of a couple datasets. And in so doing, I again befriended a couple of super simple, and super powerful functions:

Read More

Count of AD Groups Ranked by Members

A cartoon/drawn group of random people

A week ago, someone on one of our more generalized Slack channels asked if anyone knew how to make AD Users and Computers (ADUC) filter mechanism rank output based on a group membership count. Now, I don't necessarily understand (or honestly, care) about the particular use case, but I knew the answer was going to be 'no, that can't be done by way of the GUI.' Which was the first part of my answer.

Read More

Powershell Exports AD Computers to CSV

Road sign reading "Export"

A couple months ago I wrote about using Powershell to find and export AD records for the purposes of our Windows 7 End-of-Life project. This post is effectively a second in a series of 'exporting computer records from AD with Powershell' if you will.

Read More

TRIM-ming up for Summer

Trimming hedge with a lawnmower attached to a tractor loader bucket

Not really TRIM-ming for summer, but taking the opportunity to briefly write about Rule #1 when dealing with unknown (or incoming) data.

Sanitize. Thy. Inputs.

Without going into great detail (as it doesn't matter at the end of the day), last week I encountered a vendor that apparently doesn't know how to do this very well. Or at all. What ultimately transpired is the complete failure of a reasonably-routine change process to capture a critical failure in production.

Read More

Interesting Log Entries (or, Why To Patch Thy Systems)

Random text scrolling from within a terminal window

So far in 2020, I've been keeping a closer eye on the logs of this Drupal site. Back in the day, I used to pore over logs in a sort of 'bender' fashion, presumably as I was bored or something similar. Rarely was something particularly interesting, but it was a good way to figure out and correct some random things. Still is...but it's 2020 and nobody manually looks at logs anymore.

Read More

Private Content in Drupal

Glass that turns opaque with an electric current.

When I started going down the Drupal road a year ago, with minor delay after delay after delay, one of the many 'dorky' things I wanted to do was port my old "Start Page" to a real platform. See, I've had this flat HTML "Start Page" on my desktop for well over a decade, and it's set as my primary browser homepage.

Read More

Low-Budget "CI/CD"

Dude with baseball bat smashes monitor off desk

A client project had a database server upgrade in early December, and as I eluded to in a different post from around that time, Git was the shit when it came to making my angle of that migration go smoothly. Past Me made Current Me's life a lot simpler.

Read More

Powershell to Find and Export AD Records

Frantically searching through report data

With the very near end of life for Windows 7, as we work through the last bit of known and managed machines to upgrade or replace I find myself needing to do more frequent "searches" of AD computer object records for analysis.

Read More

Cleaning Up and Updating

Suspense while waiting (to update).

I've been a bit remiss in the posting cadence lately (well, since Thanksgiving). Much has been happening in all realms of life (as they are want to be during the "holiday season"). That being said, I don't return to work, proper, until January 6. And so it's time to do some cleaning up and other updates. With any luck, I'll have some material queued up to help buffer the situations when I'm out of time (or random ideas).

Read More

Visual Customizations for Windows 10 in OSD

Windows logo

As we work through the tail-end of our Windows 7 fleet (January 14, 2020 is coming if you haven't heard...), I've found myself rolling a different type of hammer process for the last of the "upgrades." This past week as I was tweaking what amounts to an in-place update (by way of wipe and load) for Windows 7 to Windows 10, I was reminded of how Past Me was indeed awesome (and inspired) since this simple script with all the various background and image sizes still works in Windows 10 19XX deployments.

Read More

Tales From The 'Duh!' Archive: Command Syntax

Cartoon character pushes zombie back into grave

I had a very long week, which means I'm writing a short post this time around.

Among several seemingly disparate things I accomplished in the last week or so, I spent some time deploying applications via SCCM (soon to be called Microsoft Endpoint Manager/Configuation Manager/#MEMCM per the announcement at Ignite this week).

Read More

Let's Expand Encryption!

Gif of lock tumbler mechanism

This weekend I performed the quarterly actions to update my various letsencrypt certificates, which I've not written about since early May when I'd performed the first set of renewals. Let's Encrypt and SSL For Free are still outstanding services, and I'm super happy with them!

Read More

Who's Font Awesome?

Puppy pointing with text "Who's Awesome? You're Awesome!"

Earlier this year while working on a client project revision, I decided to spruce up the old and dated icon set. This set had been cobbled together from various sources over time (the way you did these things back in the day), and overall lacked a consistent use and/or feel. Some actions had no associated icon, so educated guesses were made to find a matching icon from the existing set...and so forth.

Ultimately, it was time. But where to start?!

Read More

Time for a Drupal Refresh

Old computer mainframe tape disks

So here we are...just over six months into the new Drupal adventure driving the site. Overall I'm much happier with the transition than I'd originally expected, because the general maintenance and upkeep has been pretty much automatic. Scheduled publishing has been a lifesaver, too, because it's a 'set and forget' thing...unless I cross a month's boundary between create and publish dates (more about that in a bit).

Read More

Collection Variables in SCCM Task Sequences

Hello my name is {X} tag

As I've mentioned a number of times in previous posts, on our campus we perform a roughly-annual refresh of multi-user workstations across the institution. This 'multi-user' scope includes machines in classrooms, computer labs, open learning spaces, conference rooms, and so forth.

Read More

Dynamically Created Anchor HREFs

Multiple Arows Crossing Paths

Back in the day, namely before Javascript and jQuery were really a thing, the idea of dynamically creating an anchor's HREF attribute required some serious magic and behind-the-scenes wizardry. Or something like Flash. Those were not the days...

A Bit of Background

Several years ago, during a client's web app rebuild/refresh, I decided to clean up some of the gnarly baggage behind their reporting mechanism.

Read More

What's That Join Again?

Visualization of SQL Joins

In the interest of hopefully saving Future Me some time, I'm writing this little bit so as not to have to stumble to remember a simple premise:

How do I LEFT JOIN the same table more than once in a query?

For as many times as I've had to join a table more than once (effectively as a certain type of generic lookup table), you'd think I'd have this memorized. But I always get caught forgetting to proper alias both joins.

Read More

Auto-Determine Primary IP Address

IPv4 address representation in dotted-decimal notation

One of the things I've baked into our production task sequence for "multi-user devices" is a secondary way to automatically determine a device's use case while in the WinPE stage. The primary, preferred way to determine use case is by the use of SCCM collection variables, but those require a known object (in the proper collection) to function as designed. Thus, for all rebuilds of known devices, the use case is figured out by collection variable.

Read More

Batch Ship Data to Google Team Drive

Moving Data

A few weeks ago, I wrote a brief bit about capturing webcam images. This post expands on the initial process: specifically, what to do with the images once procured.

Read More

Capturing Your Internet-Connected Webcam Images

Puppet bird with binoculars

Over the years, we've had a few public Internet-connected cameras pointing at various places around campus. We've used them for publicity and other purposes since the mid-1990's, and starting in around 2010 would sometimes be called upon to create a sort of time-lapse video of activity from one of said cameras.

Read More

Windows Scheduled Tasks with Powershell

Mechanical Mathematical Calculator

As I struggled to find looked for inspiration for this week's post, I wound up looking within...oddly enough as I was reconfiguring my email out of office response (the below is what I had for my time at MMS):

Read More

MMS: Drinking From the Fire Hose

Drinking from the fire hose

I spent last week at MMSMOA, a conference I cannot recommend enough for anyone working in the Microsoft/Windows/Systems Management space. The main event, held at the Radisson Blu Mall of America, is a solid four-and-a-half days of deep technical material, networking, sharing, and more!

Read More

Hey, Let's Re-Encrypt!

HTTP vs. HTTPS

The time has come...to renew some Let's Encrypt SSL certificates! Doesn't seem like 90 days has passed since I originally wrote about trying out Let's Encrypt as a service to generate free, trusted SSL certificates with a limited lifespan (90 days versus the more commercially-focused 1-3 years).

Read More

Performance Can Matter

Performance Measure

I've had this written down as a topic suggestion for some time, and to balance/counter my post a couple weeks ago regarding performance, there's absolutely another side to that coin.

Read More

Does the Performance Matter?

Does it matter?

Back around 2015 or so, I wrote a simple Powershell script which basically re-populates Active Directory (AD) group membership based on data procured from our central systems. Two primary AD groups in particular are synchronized to our print management system, PaperCut, which pre-provisions accounts and access so folks handling monetary transactions don't have to create accounts, etc.

Read More

It's Presentation Season!

Wizardry

As I mentioned a month ago, I've taken the opportunity to commit to more speaking/presentation engagements than ever before, in an attempt to better inspire folks and do more technical evangelism. It just happens to be that I have three things lined up in as many months!

Read More

Auto-Transpose Data

Geeks and Repetitive Tasks Graph

Many years ago, an individual in our office retired and the position was not replaced. For several reasons, this was an appropriate decision: the landscape of IT and our localized service portfolio had, for lack of a better phrase, stabilized. Our team was more often innovating in ways involving or prioritizing partnerships over custom builds or infrastructure requirements. We were appropriately consuming centralized services made available as a commodity.

Read More

I Own You, Drupal View!

I Own You

As I tweeted about in victory a week ago, I managed to finally get my Drupal taxonomy term view(s) to do what I wanted:

Read More

Auto-Generate OSD Computer Name

Typos Happen

Last summer while re-designing and upgrading our primary task sequence for the "multi-user devices" in our fleet (computer labs, learning spaces, etc.), I decided to tackle what had become a bit of a perennial problem: device naming.

Read More

We Have Liftoff!

Hovering Cat

Liftoff.

Finally.

Aside from some style tweaks likely to come around, the underlying technical bits I've been ignoring or had on the list to address (looking at you, tag views) are now in place and working as I'd expect. There's a pesky bit I've ended up handling in a more manual sense, at least for the short term: content view by tags.

Read More

Hey, Let's Encrypt!

As I'd mentioned in the past, one of the key reasons for changing up my personal hosting plan was to support Let's Encrypt, the free and open Certificate Authority. In 2019, there is absolutely no need for a regular old website or service to pay some exorbitant rate for an SSL certificate. The premium options (extended validation and such) are an entirely different arena--think banking and other services--but those are out of scope for everyday Joe.

Read More

It's [Well Past] Transition Time

As the last full refresh of mzonline.com was fully thirteen years (!?!) ago, ca. 2006, one can say it was time for something new.

I'm super glad I had built the old site out with a tableless and (for its time) clean and well-structured design. While it's been a bit dated for several years, with the exception of the site itself not being terribly responsive (for mobile and alternate screen sizes) it's had a good run.

Read More