Truth in IT
    • Sign In
    • Register
        • Videos
        • Channels
        • Pages
        • Galleries
        • News
        • Events
        • All
Truth in IT Truth in IT
  • Data Management ▼
    • Converged Infrastructure
    • DevOps
    • Networking
    • Storage
    • Virtualization
  • Cybersecurity ▼
    • Application Security
    • Backup & Recovery
    • Data Security
    • Identity & Access Management (IAM)
    • Zero Trust
    • Compliance & GRC
    • Endpoint Security
  • Cloud ▼
    • Hybrid Cloud
    • Private Cloud
    • Public Cloud
  • Webinar Library
  • TiPs
  • DRAW

Practical PowerShell for Sysadmins with David McFall

PDQ
10/06/2026
0 (0%)
Share
  • Comments
  • Download
  • Transcript
Report Like Favorite
  • Share/Embed
  • Email
Link
Embed

Transcript


community. And now here's your host, Andrew Plaw. Hey, I'm Andrew Plaw with PDQ, and I've got a very cool announcement to share. PDQ has just introduced the PowerShell scanner into PDQ Connect, and this opens up a world of new possibilities. If you're like me, you've got a pile of PowerShell scripts that solve very specific problems. You can run them, you get your answer, you save the output, and then you probably just do it all again next time you have an inkling that there's a similar problem. Well, with the new PowerShell scanner in PDQ Connect, those scripts don't have to be one and done anymore. You can drop your script into Connect, you can run it as part of your normal scan cycle, and whatever it returns becomes actual inventory data, not just output on a screen, but this is something you can filter on, you can group your devices based on it, you can report on this. And so instead of just kind of manually rerunning your scripts to answer the same questions over and over, your environment just stays up to date. Your devices, your data, no blind spots, PowerShell scanner in PDQ Connect. Learn more at pdq.com and get your PowerShell on. Have some fun with us. Now, back to the PowerShell podcast. Hello, everybody. Welcome to another episode of the PowerShell podcast. I'm your host, Andrew Plaw at Andrew Plaw Tech. Find me on LinkedIn and everywhere else. And I'm joined with a special guest that I met in person again a few weeks ago at Tech Mentor in lovely Bellevue, Washington at Microsoft's campus. David McFall, welcome to the PowerShell podcast. How are you today? I'm great. Great, Andrew. Thank you for having me. And it's always good to see you. I know. I told you in person, hey, we're going to do a pod and then, you know, conferences, it gets kind of busy, but I'm glad we can circle back. And but I want to introduce people, tell you who you are, and I'm going to read your bio that you sent me over. David McFall is an IT infrastructure and operations leader specializing in enterprise cloud platforms, cybersecurity and system administration. Shout out to his admins. Working remotely from Metro Detroit, David brings extensive hands-on experience navigating complex environments for managing high level incident response and Microsoft Defender threat hunting to architecting Azure cloud solutions. Having originally crossed paths with today's host, your boy, Andrew Plaw at Andrew Plaw Tech. During their time at Microsoft and Redmond, he merges deep technical expertise with a passion for mentoring the next generation of IT professionals. And he is one of Andrew's, me, favorite customers. That is David McFall. Welcome. And thank you, David. Glad to be here. I want to speak towards the end, you know, the passion for mentoring the next generation of IT professionals. That is one of the things that I sort of took away from our interactions this year was like that was something that was kind of very top of mind for you. And maybe we can connect with some people today and offer some kind of support in that way. But why does that mean something to you? Why are you caring about helping other people? You know, I grew up trying to figure out things myself and, you know, it just was difficult sometimes. And, you know, if I can just make somebody's life a little easier by teaching them and mentoring them, ultimately, it makes my life easier. Right. Because then I can learn and grow. They can learn and grow. And the more I know, the more I can filter down to them and I can continue to learn more and pass that along. So, you know, my team where I work currently, they're very young. They're very green in the field. I've been mentoring them. I will say I don't want to say I'm their manager. I'm their mentor. For about three years, they've come a very long way. One just got their CCNA. Another one just got AZ-900, AZ-104, MS-900, all within a year. So, they're really killing it with the Microsoft and Cisco networking. So, my job isn't done, but it's definitely getting easier because I can delegate more and I can have time to do things like talk to Andrew. I like that perspective because it's sustainable, right? You mentioned that you help them because it helps you. It's not just you're some selfless person who wants to lift up everyone else while neglecting themselves. It is a we're all better together type situation. And it's kind of addictive too. Because can you imagine, what do you think is more fun people out there? Showing up every day, treating your people who you manage as robots, not being that invested in them, or being a little bit invested, trying to do your best for them and getting to see them grow and feel at least a little bit of the same kind of happy chemicals as they go about their life, take care of themselves and their families. I mean, I know I'm trying to be like David McFall each day I'm out here. So, I do love that perspective and love highlighting it for others. Yeah. I mean, you've been an asset to us. You and Marcus, the PDQ team has been a very, very unmistakable asset for my company and the benefits and that are exponential. Awesome. I mean, that's the goal, similar perspective to you. If you're going to show up for work every day, you're going to get paid probably the same amount, whether you do a job where you try and make the world around you better or not. So, you might as well do the one that makes you feel better. And it usually feels better to make the world you live in better. But let's talk about some PowerShell. So, we talked about you. We didn't say you've been writing modules for 10 years. I'd consider you a PowerShell practitioner, someone who consumes PowerShell, who writes in PowerShell. But I'd say, and correct me if I'm wrong, you'd be more on the end of like using a popular project than writing it from scratch. I mean, maybe you'll write the script that uses it, but you're more of just you're every person who's like a sysadmin who's not obsessed with PowerShell. Is that fair to say? That's pretty, pretty accurate. I've written a few things myself, but I am no Sean Wheeler, Steven Judd. They are great people, and I love to sit in and listen and learn from them. But I will never be on their level. That's okay. I consume it. I use it. I'm lazy. Let me just put it that way. I'm lazy. If I can repeat a task once and write it in Shell, and then just kind of turn and burn it every single time. Otherwise, I'm going to do it. Because who has time to sit there and keep clicking and clicking and clicking when you can just type it out, spend a little extra time, and then just have the computer do the work for you. That's what we do, right? Absolutely. And I think that having the computer do the work for you, what that means is sort of changing as time goes on. And I think, being honest, it may take some of the need to learn all the nitty gritty parts of a language out of the way. Not everything. It still helps. But I think in the world we live in today, it's easier than ever to get up and running with the language. How do you feel yourself dealing with that? You know, I mean, everybody who says, oh, I write my own scripts and today, they're true. But who doesn't use AI to help them out a little bit, right? What I started doing recently was using AI to help me understand the language so I could write my scripts just to stay sharp, right? You know, I wrote a script. We got really heavy into project management where I'm at because we have a lot of projects this year. So, I wrote a script that uses Microsoft Graph to create planner boards in Microsoft Planner. And so, basically, I have some variables at the top. Project name, project scope, and what I want to call the buckets. And PowerShell does the whole project plan. Hundreds and hundreds of tasks and assigns them accordingly. It's great. I did that based on using AI to help me understand the Graph API and PowerShell, but also how the PowerShell language is structured. Yeah, it really shortens the feedback loop of try a thing, new concept, ask question, get some clarity, you know, especially when you break it down into the smaller pieces. Like, as you're going through it, it really can be a very beneficial tool and like a mentor of sorts. Yeah, yeah. You know, I didn't quite understand parameters a hundred percent. So, I got it now. Yep. That's the best way to learn things. It's like not really understand it and then go through something where you actually have to implement the thing. And then you can remember the thing long enough to forget it again. And the next time you relearn it, it's even easier. So, that's right. The joy of being in IT for a very long time. You're going to repeat the same tasks with enough time in between them that you forget a lot of the details. So, you better write good docs. That's right. What do you think people overcomplicate with PowerShell? Because, like I said, this is a PowerShell podcast. A lot of people are going to be like Steve and Judd's where they're really into PowerShell. It's part of their daily flow to write it. It's very comfortable. They've been doing it for a while. What do you feel like people overcomplicate? Are we, is modules something that people should, they're over hyping or, you know, what do you think trips up beginners? I will say I hijacked their session. I hijacked is the wrong word, but I sat in on their session because the one I had at the beginning of the week in Redmond wasn't quite for me. And they were, and it happened to be modules, right? They were going on about the PowerShell podcast module. So, if you want to talk about over hyping, yes, a little bit. The modules are great. I don't know if it's a little too much for me. I could never write a module. I don't see a need to for people like Steven and Sean who eat, sleep, breathe PowerShell. I think it's, I guess it depends on the use case and how in-depth you want to get with what you're trying to accomplish with PowerShell. Right. Yeah. I think it comes to how much tech debt are you assuming? Yeah. And that's the real question. The tech debt of creating a tool and upscaling on that and maybe creating the GitHub repository for it. There is a certain amount of tech debt of that. If you're only creating one module and it's not your thing where you're going to recreate it and you have other repos, that is its own kind of tech debt to a certain degree, depending on your org. Same thing as a one-off script that is different than others can be tech debt in its own certain light. It just depends on the org and the problem. And I think there are so many people who are successfully using a lot of stuff and not writing any modules whatsoever, which is okay. But they are there for people. There's just a lot you can get done with one script and in some environments, shipping a script, one text file is a lot easier, both for them and for the consumers of the tools. Right. And my thing with what I do is I there's probably already a module out there that I can just grab. Most people, right? Yeah. So like I said, I'm lazy. If I can find it somewhere and make it my own, I'll give credit where credit is due. But the modules, I'm not to that point in my PowerShell journey where I could write a module. Nothing wrong with that too, to be honest. Most things we're solving are not that novel. There's so much incredible value. You'd have a whole career with just using the stuff that's already out there. I mean, really a very successful career and incredibly so. So, and it seems like what you're doing so far. What is something that really got you hooked on PowerShell early on? When did you get into it and what was something that you were like, wow, I got to check that out? Well, I'm going to go back to, I think you asked TJ this a couple of weeks ago on the podcast. What was one of your biggest oopsies, right? So I was very green. This was years and years ago. And I was given a task. This was before Microsoft Labs and all that stuff to, hey, we need to centralize, manage an administrator password within the organization. I don't even remember what I did, but I inadvertently blocked all executables from running in the entire organization. Yeah, no, that'll do it. Yeah. You did an allow list and you allowed nothing. And so that was my learning experience. And from that I learned, okay, let's try to A, never test in broad, but also, well, I'm lazy, but I also need to be repetitive. So what can I do with local AD and PowerShell? So I was part of the imaging and user team when I first started. So how can I write scripts to baseline an image, right? How could I write scripts to just, I have 30 users starting on Monday and they all need to be part of these groups, right? Easy. You can use that in PowerShell. You just script it out using your AD commands and be done. That's kind of what started my journey. That was 15 years ago, maybe. And then from there, I just started building on it and getting into cybersecurity. We had an incident last year, so I was doing booting stuff. Hey, my CIO was in AD going in and click, click, reset password, click, click, reset password. Like, dude, you can script that. And you can also do it in Entra with Graph. He's like, well, I don't have time for that. I said, I don't think we don't have time to not do that, right? So give me 10 minutes. I wrote a script, reset, logs off everybody out of AD, resets their password and to prevent compromise. It saved him a long night and you could be the unsung hero for that. Oh, we're singing. I'm going to say as soon as this recording's over, I'm singing to you and you're going to be a sung hero. Awesome. You know, there's that saying, got to spend money to make money, right? For those of you out there with managers who are trying to sell you not to automate things, well, you got to spend time to make time. And sometimes that means investing in those more challenging things that are troublesome. And like certs, things that aren't necessarily fun or AppLocker or, you know, those kinds of things where you have to spend a little bit more attention to detail. Yep. Where are you using PowerShell though? Where am I using it? I mean, are you just like for devices, for your environment? Where do you execute your PowerShell? Um, everywhere. I, in the past two years, since I've been, I've been going to TechMentor for what, three years now, um, I've really gotten heavy into scripting and PowerShell. Um, not just PowerShell, but like Python and all this other stuff, but, um, Entra, LocalAD, M365, um, just making life easier. Uh, you know, there's a lot of stuff you can do and Intune with Graph and Entra with Graph and, uh, a lot of stuff. And some of it's not even in the UI. I think TJ had mentioned, even in the early days of Exchange, um, we're still on hybrid. There's certain things on an Exchange server you can't get to via the GUI. Um, you have to use PowerShell modules. So stuff like that. It's, um, you know, like you said, there's a lot of stuff you can do you know, like you said, making time to save time. Uh, I spend many hours off the clock building out scripts so I can make my day job a little easier. Um, and so, you know, and then PDQ, um, you guys have released this, these PowerShell scanners. This is the greatest thing ever. Um, we had an incident where we're trying to roll out, as you may be aware, Microsoft is enforcing passkeys as their default sign-in method. Right? Well, we were prepared for that, but what we weren't prepared for was, um, a vendor shipping us machines that, um, did not have any capable device of capturing biometrics. Right. Even though they're built in 2026. Um, they just built us the wrong machines. So, um, I used a PowerShell scanner to, well, I used PowerShell to script out, okay, what machines don't have these hardware GUIDs with an IR camera, PowerShell scanner, put it in a PDQ. Five minutes later I had, okay, we have 108 devices that I have to buy a camera for. And I know exactly who the devices belong to and who needs the cameras and where to ship them. So, and that's one very small scanner story that we have in PDQ. We've had so many now, uh, it's, it's, it's wonderful. Yeah. You know, I'm a little biased, but I am very pleased with the PowerShell experience. I mean, it is, I mean, it makes sense. We, we really like PowerShell here. I'm not the only one. Uh, there's many of us, but I'm glad to hear that because when you get PowerShell involved, it's like you have so much duct tape to cover things that aren't otherwise there, or to customize for your environment and not only customize, sort of automate ultimately, right? Yeah. Yeah. Yeah. For me, my brain goes crazy because it really is a, it's a canvas of sorts. PowerShell in general is right. You can write scripts to do anything. Uh, but then when you add these different execution contexts and ability to like schedule things automatically, um, it's, it's a fun time. It's fun is arguably an understatement. It's exciting. I know it's, it's funny cause I was a customer for a long time. So I very much connect to that side of things, but I realized that like, I've been here for a while. People probably don't understand that I was a customer before and I, you know, haven't always worked here. What was your favorite thing? I mean, I was a customer back when PDQ was only an appliance. Um, and it was, it was very cumbersome, but it was cool. It was cool back then. Different app though. But like totally so long ago. Yeah. I was a customer maybe like 10, 11, 12 years ago. So same time. Yeah. I was using the old, old school, old school vibe. Um, but man, it changed my life at the time and it kind of got me hooked on PowerShell was the thing, right? Because I could execute PowerShell and, and PDQ talked a lot about PowerShell. I learned stuff from them on the webcast. We do every Thursday back then I was watching it, learning PowerShell, learning even pranks that I could pull on my coworkers as just more excuses to run code and like read it and be like, Oh wow, I played Spotify songs using PowerShell and invoke rest method. That's so cool. Um, yeah, I've been around for a while. So it's cool to kind of come full circle now and be able to share the same passion and take people on that roadmap of like, you're a sysadmin, you're doing stuff. Well, Hey, you became a customer. Congrats. You can automate a bunch of stuff without having no PowerShell. Oh, and by the way, there's PowerShell features. If you learn a little bit of PowerShell and we've written a bunch for you, boom, you can learn this new skill, which will help you with what our stuff does too, but also opens up a whole new world and can lead to a lot of awesome opportunities for people career wise, which really gets me excited for folks. Uh, cause yeah, you never know that the world changes once you learn PowerShell, you become someone who has a lot more agency in their career and can add a lot more value when you can start thinking of things in an automated fashion. Cause a lot of people aren't going to be that. They're not going to be the types to, um, listen to a podcast like this or be invested in their careers in that way. So it's a good differentiator. It is, it is. Um, you know, we, we were, my company I work with, uh, we, we were bought by private equity. And when that comes a lot of, a lot of change, and people are, uh, a lot of change in a short amount of time, you know, where I'm going with that automation. Right. So one of our things is, Hey, we have a device posture check. I'm like, and we were trying to figure out in defender and all the Microsoft tools, like, how do we get this? I said, well, hold on. We can write this in PowerShell. And so what I did is I created a whole script. Uh, you know, we have to be like X builds no more than X builds behind in this Chrome and edge and windows, et cetera. Right. Um, so I just wrote a big PowerShell script. I threw it in a PowerShell scanner and it, and then the, the weekly reports through PDQ. So it sends an executive summary, you know, OS build version. Oh, you know, these are the devices that are not meeting posture check. And then we have to, uh, we use a PowerShell to automate isolating them from the network if they're too far behind. Right. Um, it's just crazy cool stuff. Um, you know, we spent, we had one of my engineers spent like two weeks and defender trying to write a report. I'm like, no, no, no. Here, let me show you how to do this real quick. Set it and forget it too. That's right. Yeah. No, it, I'm very connected to the struggle that a lot of sysadmins go through. Cause a lot of people are really, man, what they have against them is really challenging. Especially if you want to ultimately think of them making their organization secure. Oftentimes they're underfunded, they're understaffed and to be able to provide them any wins in any way, whether it's through PowerShell or through our product or anything is, it's like just so rewarding. You could be connected to that reality or you could not. And the same thing goes with like having coworkers who you're mentoring or trying to grow alongside, like being invested in that and seeing it for them and in connecting them is just, uh, so much more rewarding than, than not doing that. So anyone out there listening, I recommend you take your next step to build those relationships, whether you are the mentor or the mentee or the person who's just asking questions in a space that is otherwise not really welcome to ask questions. And everyone's all stuffy and thinks they're all experts when in reality, you know, maybe they're not experts at everything. You could be that change. And that, and that to build on that, you know, I've worked in organizations where, you know, there was six or seven of us sysadmins and there was always the one guy like, this is mine. Nobody touch it. Right. Uh, but then when he was gone, I was sick. Cause he was like a year from retirement and that system went down. Nobody knew how to fix it. Right. Um, and then, and then going back to the beginning where, you know, if I know something, I don't, I don't mind teaching somebody, right. Learning is growth. Uh, and I think I told you and Steve in this, when we were in Redmond, uh, we're all in this together. Like this field is not for the faint of heart. No matter if you're in security, you're in DevOps, you're in sysadmin, you're a manager, uh, your CIO, we're all in the same boat and, and, you know, we're all under the gun. Why, why aren't we secure? Okay. Well, let me make you secure. Why do I get prompted 50 times for MFA? Why do I get this? Right. So, uh, well, you said you wanted to be secure. So yeah, no, I love that so much. We are all in this together, whatever this means. And, you know, that can extend out so many levels, you and your team, you and the PowerShell community, you and other sysadmins, you and your fricking neighbors. Like we are all ultimately struggling in one way. Most people aren't just thriving, dealing with no issues. We're all dealing with something. So the more connected to that you are, the less division you're going to find. And hopefully the more collaboration you have in the less work field you're in, the less collaboration you have in the less work feels like work. Right. That's the goal. Yeah. If you love what you do, you don't work, but it still is kind of work the same time. It's still draining, even if you love it. Right. It's you're passionate about it. I'm passionate about what I do. I love, I love automation and I love teaching. Yeah. Uh, when you look forward to two years from now, in your work, in your PowerShell, in your mentorship, in your life at large, like what is something that's kind of on the horizon for you? You know, I want to keep learning and growing. Um, and I want to keep sharing, uh, this year I had the wonderful opportunity to, to, to bowl with Steve or Steve, sorry, uh, Sammy and Dave at the bowling event. And, uh, I believe I was asked to maybe speak this year, this coming year at TechMentor. So, um, that is my goal. Uh, I want to further share my knowledge. Um, I, I also am trying to hit my MVP. Um, so I started that journey, um, again, not just to have status, but to share, um, share the knowledge, share experience. Um, because what do we learn the most from? We learn from our experiences, right? And I I've had a lot of good ones and a lot of bad ones and the bad ones are the ones you learn the most from. Uh, I've wrote in bad scripts and caused a lot of bad problems. So, uh, don't do that. Uh, Hey guys, see this script. If you run it, it will cause you to have a very bad day and sleepless nights. Don't do it. Don't run scripts directly from AI either. Please do not do that. You have to vet your stuff. Absolutely vet it. I'm, I'm actually doing some talks, uh, coming up here about the different ways that you should think of, of protecting the scripts you run, because it's an inevitability. Not only that you, whoever's listening is going to run scripts, but also the people who are junior underneath you, they're going to be running stuff. So you want to be having those conversations early. They're going to take your word for it. So you better like, Oh, my boss gave me this script or my mentor gave me this script. It must be great. Run it. Right. And that is, you know, again, it's the tech deck question. What are you, like, just, it's a business choice. What is an accepted level of script that you're willing to base your business on? And if it's just a one-off script to solve one problem, well, whatever. They wrote one line of code softly. Who cares? It's one line. Ultimately, it's one command. But when it comes to these longer, like, Oh, this is a script we're going to run every single week to take care of this, this, and that, and restart these. And it gets to be a little bit, a different question, right? Synchronizing payroll with ERP. Uh, yeah, you better be real careful. No, what, what, what happens with that? No, it's just real stress-free. You can restore and then make sure it's still there and you lose all the, oh, wait, now that actually sounds terrible. That's someone else's problem, I guess, until it's our problem. So to round out the, uh, the question, uh, I, I, one of the courses, cause I have to come up with courses is I'm going to do Hyper-V and Intune. Um, but the cool thing is, is you can use PowerShell to manage, to build, and to control Hyper-V. So that is going to be kind of what I'm going to base this on. Busy guy. That's a great, great observation there. You know, you and I, we've been hanging out at TechMentor for a few years. Um, why do you, what's the value of conferences? Like what, what do they mean to you since you've clearly found enough value to keep returning? And now you've, we've made friends year over year and I've gotten to see you, you know, not only hanging out with me, but hanging out with TJ and Steve and these other folks where you're developing these year over year connections that really just changed the whole course of your whole career. Because you have this, not only a support system of like being involved in the community, but someone who you could text when you're going through a hard time, like this more of a closer level thing. What, what do conferences mean to you though? Um, so I had, uh, when I started at the company I'm at now, I'd never been to a conference. And my first three weeks there, my boss said, Hey, I want to send you to a conference. And I'm like, okay, what is it? He's like, it's Gartner in Las Vegas. I'm like, whoa. Uh, it was like 6,000 people. Okay. Uh, it was infrastructure and apps. Um, it was very overwhelming. A lot of, a lot of ingestion. Um, and then, so the next year I was like, you know what, let me, let me find my own. So I found tech mentor and, uh, I said, okay, I get to pick all my stuff. And I met some amazing people there. Um, it's, is it about the connections, but it's also about the content. Um, and even taking sessions that I thought I knew a lot about, I still learn more because there's always another perspective. There's always a second set of eyes and hands, right. Or, you know, Hey, just like Penn PowerShell, you can probably do this parameter, this, you know, this verb and this, you know, execution, but also you can do it this way. There's, there's multiple ways to do it. Right. Um, so what I get from the conferences is not only just the knowledge and the learning from peers, but the peers themselves, um, the people are great. It's a very welcoming community. Um, you know, I get to see people year after year like you and, and, and, um, you know, Dave and Sammy and Sean, I could go name names all day, but, um, at the end of the day, even just, I've ended up having to make connections with other attendees. Hey, I had this issue. They raised their hand. Uh, Hey, I've experienced that. Let's talk outside of the room afterwards. Right. I've gotten connections that way. And, you know, we text and we chat and we get on LinkedIn or whatever, whatever we do. And, um, the knowledge transfer and the growth is, is, is the biggest benefit because that's a, why we go. But I think a personal benefit to me is the connections that we make. It's this, everything we're talking about requires some kind of balance. There's a balance between your tech skills and your personal skills and the relationships. And you can have a completely successful career focusing and on either one, but you can't go exclusively without any personal skills. You got to really work on those relationships. Um, and they can just benefit you so much. And not only you, everyone out there doesn't have these perfect, uh, support systems and things like that. Like there's so many folks out there in the community who are doing great things and you think they have it all figured out and they could still use to hear from someone saying, Hey, I loved your module. I loved your blog. You wrote, I loved whatever it was, or, you know, I've gone through the same problem goes such a long way when you put yourself out there and do that kind of thing. And David, it's been cool to see that for you. And I'm sure it's going to keep happening. I've seen a lot of people sort of flourish. Um, and I'm excited that we could catch you early on the podcast because investor, you know, I love hanging out with you guys, you know, um, I mean, you and you and Marcus, I met Marcus first before I had met you. And then I met you and like, Oh, this guy's great. No, just, he did not pay me to say that. Um, but no, it's, it's great to just, I think Steven and TJ and I, we have a, we have a group text, right. And, uh, don't feel left out. Um, but we just kind of talked about how nice it was to like meet like minded individuals who are going through the same things in life. We're at the same point in our life and our career that we want to, we might want to shift to something, but we don't know what it is yet. Um, I know my shift is wanting to help more people, um, learn technology and use technology, uh, like PowerShell and Microsoft and whatever to, to make their life a little easier. And that's really what I'm passionate about. Yeah. I mean, I think you're not alone and I think it's really cool that you're speaking to that. And I think other folks are, yeah, would love to emulate a similar thing in their life. And there's different ways. Like if you're not able to attend conferences, you're able to attend the user groups. You're able to attend live streams. You're able to interact in discords and in private messages and even go out of your way and ask for a call with someone who you've been talking to for a while, which I've done before. And there there's nothing wrong with that. Um, but yeah, I mean, I get, I get to see so many folks have their lives changed in a huge way. Automation, you get better career stuff, but also just having that support system and feeling heard and feeling seen and relating to others on other parts of the world who are going through the same stuff as you. It's, there's no value you can put on that. And it's so fun and interesting that PowerShell sort of leads people to, to that space sometimes. Who would have knew just typing lines in a blue screen would just bring so many people together. Wild, wild, wild, wild, man. Here's a question. I want to pitch you some stuff before I let you go. Uh, this has been just a great chat. We'll have to do this again sometime. Um, actually I might pass you on to my friend, my coworker, Brock. He does a show called PDQ Patch Notes where he talks with different folks in IT. He gets more into like your story and your journey. Uh, might have to pass you on to him because I'd love to hear more about that. All right. You ready for some suggestions? You know, I didn't want to put you, I didn't want to put you, um, under the pressure of having to answer like, Oh, what would be a great project for this and that? I'm going to pitch you some ideas. Okay. You let me know what you think. Okay. Oh man. What do you think about this PowerShell project? Would you do this? What do you think about writing Excel projects or Excel reports without Excel? Like, so with PowerShell, you can create Excel without needing Excel.exe present on the computer at all. Useful, not useful. What do you think? I guess it depends on what your desired outcome is. We want a fancy report for Bossman. You want Bossman Jones to feel happy with graphs. They like Excel. You know, those business types, they like Excel. They don't like CSV. They want to XLSX, you know, you know what I, you know, I really, I want to say no, but I am a sucker for new, fun, fancy things. And that, well, my hope is that you say yes to everything I bring up. So feel free to say, I love a good challenge and it sounds like a good challenge. So I think that's good. I like that. I have good news for you. It's not as challenging as you may think with the project, uh, pretty recommended here on the podcast called Import Excel. Okay. So that's a project that will allow you to create Excel reports without Excel. Okay. Kind of cool. So maybe that's helpful for you. It's just, it's there for you. There's been a, it's very, very millions of downloads. Um, but knowing something exists, guess what? You can change your AI query. You know what I mean? It can, it can change things for you. So it's like GI Joe, the more, you know, that's right. What do you think about windows toast notifications? You know, those things in the bottom right to pop up and says, Hey, you need to do this or that. What do you think about creating those with PowerShell? Would that be cool? I would love that. Do burnt toast. Check it out. It's very toast. Okay. Burnt toast. One word, my dear friend, Josh King. I'm writing that one down for sure. Oh, that's super cool. Yeah. I think I've written some blogs on it too. If you search burnt toast or I've written on the PDQ blog, but there's, it's an infinite world of fun with burnt toast. Um, but again, it's like you can do this fancy developer stuff with just running one PowerShell command. And everyone who's listening to this has ran one PowerShell command. It's the same easy stuff, even if it's all right. What do you think about turning a report interactive with HTML and PowerShell? What do you think about that? Oh, absolutely. Yeah. Instead of just like a, a out, you know, like a grid or a table or something, a full HTML report, PS, right. HTML can make that happen for you. Yes. Right. HTML. Okay. Yep. Okay. Okay. What do you think about automatically testing your Microsoft 365 security posture? Would that be helpful or nah, it is extremely helpful. Oh, Meister. I think I know where you're going with this. Cause I am a huge Meister, uh, consumer. I will say, Oh, are you? Oh, you like heavy. I think, I think it just has such large adoptions only to get more and more because it's so widely adopted. It's so vetted and trusted, you know, what's his name? Uh, Merrill Fernando. Yeah. So he left, he recently left Microsoft to just run that project full time. That's awesome. Yeah. But yeah, we've, we've been using Meister internally and now I have it automated, automated through, uh, ADO. Yeah. Nice. All right. All right. I think we'll leave it at that. There's more I want to do, but I want, I want to save some, you know, I think we just gave people four solid solutions, import Excel, PS, right. HTML, burnt toast and Meister. So check out one of those. That's an easy win. Take it back to your boss. Woo. You're amazing. Here's a million dollars burnt toast. Totally. Uh, but yeah, anybody who's looking to really automate their, their, um, 365 hardening Meister, look it up. The docs are great. They're very easy to follow. And you'll even learn a little bit about pester and a PowerShell along your way. Three commands to change your life. Life. That's right. Three commands. You can get a Meister report up and running. Awesome. Well, David McFall, thank you again for joining me. I want to know people are connecting with you. They want to see this MVP journey take fold. Where can we find you on the internet? Where are you active? Is it LinkedIn? Do you have a website? Where, where should we find you? LinkedIn? Uh, David McFall, IT. It's in the, let me see here. I got you a link for you in the show notes. It's right there. I just, last night I've started a blog site. So it's very, there's even still some stock content on it, but, um, let me, I have some ePlurbus Unum or whatever, you know, the Latin script. I have some of my MVP stuff on there, but, um, let's see here. I got, uh, the endpointequation.net. The endpointequation.net. Yep. Nice. Wow. That is exciting, man. I am going to start blogging, uh, that's on my, my MVP journey. So, uh, I'm starting with Intune. I'm starting with Intune. Uh, there will also be some Hyper-V in there and maybe some 365 Copilot, who knows? Uh, but. Awesome. Well, that is the endpointequation.net. Yep. And I am on GitHub. McFly227, same as my Discord. Yeah. I'm building apps and I'm doing some PowerShell stuff. They're very basic stuff, but, uh, care to check it out. Be my guest. Criticize all you want. I don't care. I like criticism. Most people in PowerShell who are in the spot where they could criticize will usually encourage because they're smart like you and they realize that, like, it's better if this person sticks with it and learns. So. Thank you for having me. I, this has been great. It's always good to see you. People have to keep in touch for sure. Even unrecorded. Hey. Yeah. But I appreciate you coming by today. And yeah, until next time, my man. Looking forward. It's been fun seeing you at Trivia Thursdays and getting to chat here and there. So, uh, everyone out there, be a little bit like David McFall, tune into his journey. Take care of yourselves. Learn some PowerShell. Tap yourself on the back. Hey, if you listen to this, you're investing in your career more than a lot of folks out there. And, uh, you deserve to be recognized at least by us. And if you stick with it, hey, cool things will happen in your life. Have your PowerShell journey. Just like a lot of us here. We talked to, I've had a really cool PowerShell journey. That can be your story too. Who knows what your limit is unless you push yourself. And it's really hard to push yourself if you're all alone and you're like, ah, I'm totally vulnerable. Find some friends, reach out to me, to David, to anyone out there, um, and get some reassurance. And just as humans, we just kind of work better if we're not totally alone, like a robot. So let's embrace that when we can and be kind to each other and be kind to ourselves and learn PowerShell all the time and share about it online. And David, do you think I said enough? Are we good? I think we're good. Did they get the picture? Don't be afraid to ask questions. So important. Um, so, so important. Bye everybody. See ya. Thanks for listening to the PowerShell podcast. The PowerShell podcast is a PDQ production, making device management simple, secure, and pretty damn quick.

TL;DR

  • David McFall uses PowerShell across Active Directory, Entra, Microsoft 365, and Microsoft Graph to automate repetitive sysadmin tasks — without needing to be a PowerShell expert or module author.
  • PDQ Connect's PowerShell scanner enabled David to identify 108 devices missing IR cameras for passkey authentication in under five minutes, turning a potential rollout crisis into a straightforward procurement task.
  • AI tools can accelerate PowerShell learning by explaining concepts and APIs, but every AI-generated script must be reviewed, tested, and understood before being deployed in a production environment.
  • Mentorship and knowledge sharing make teams more resilient — David's junior staff earned multiple Microsoft and Cisco certifications under his guidance, reducing single-point-of-failure risk across the team.
  • Community-maintained PowerShell projects — ImportExcel, PSWriteHTML, BurntToast, and Maester — offer enterprise-grade capabilities with minimal scripting overhead and are recommended as practical starting points.

PowerShell as a Practical Sysadmin Tool

In this episode of the PowerShell Podcast, host Andrew Plaw sits down with David McFall, an IT infrastructure and operations leader based in Metro Detroit, to discuss how working sysadmins can extract real value from PowerShell without needing to be language experts. David frames his relationship with PowerShell through the lens of pragmatic automation: if a task is repetitive, it should be scripted. He shares concrete examples from his own environment, including using Microsoft Graph to automate the creation of Microsoft Planner project boards with hundreds of tasks, scripting bulk Active Directory password resets during a security incident, and building device posture reports that track OS build versions and browser currency against compliance thresholds. The conversation also covers PDQ Connect's PowerShell scanner, which David used to identify 108 devices lacking IR cameras needed for passkey-based biometric authentication — turning a potential rollout crisis into a manageable procurement task. The key message throughout is that PowerShell does not have to be complicated to be useful: a single well-tested script can save hours of manual clicking and become a repeatable, automated workflow.

Learning with AI and Avoiding Common Pitfalls

David and Andrew discuss how AI tools have changed the PowerShell learning curve, particularly for practitioners who are not full-time scripters. David describes using AI not to generate scripts blindly, but to understand language concepts like parameters and to decode the Microsoft Graph API — effectively using AI as an on-demand mentor. Both hosts are emphatic that scripts generated by AI must be reviewed, tested, and understood before being run in production. The episode also addresses the question of when to write a module versus a simple script, with David and Andrew agreeing that most sysadmin problems do not require the overhead of a full module. Reusing community projects — such as ImportExcel for Excel report generation without Excel installed, PSWriteHTML for interactive HTML reports, BurntToast for Windows toast notifications, and Maester for automated Microsoft 365 security posture testing — is presented as a legitimate and highly effective strategy. David notes that Maester is already automated in his environment via Azure DevOps, underscoring how open-source PowerShell tooling can anchor enterprise security workflows.

Mentorship, Community, and Career Growth

A recurring theme throughout the conversation is the value of mentorship and community investment, both for personal growth and team resilience. David describes his approach to managing his junior team not as a manager but as a mentor, and points to concrete outcomes: one team member earned their CCNA, another completed AZ-900, AZ-104, and MS-900 within a single year. He contrasts this with the organizational risk of knowledge hoarding — the classic scenario where a single expert holds all the institutional knowledge and the team is left exposed when that person is unavailable. Andrew and David both advocate for conference attendance, user groups, Discord communities, and direct outreach as ways to build the kind of peer network that sustains long-term career development. David is pursuing his Microsoft MVP designation and has launched a new blog at endpointequation.net, with planned content covering Intune, Hyper-V, and Microsoft 365 Copilot.

Chapters

0:00 - PDQ Connect PowerShell Scanner Intro
1:13 - Guest Introduction: David McFall
2:31 - Mentorship Philosophy and Team Growth
5:20 - PowerShell as a Practitioner Tool
7:04 - Using AI to Learn PowerShell
11:51 - Getting Started: Early PowerShell Lessons
14:59 - Real-World Use Cases and PDQ Scanners
20:29 - Automation, Posture Reporting, and Team Wins
27:54 - Value of Conferences and Community
33:51 - Tool Recommendations: ImportExcel, BurntToast, PSWriteHTML, Maester
38:35 - David's MVP Journey and Closing Thoughts

Key Quotes

6:06 "I consume it. I use it. I'm lazy. Let me just put it that way. I'm lazy. If I can repeat a task once and write it in Shell, and then just kind of turn and burn it every single time."
14:06 "I don't think we don't have time to not do that, right? So give me 10 minutes. I wrote a script, reset, logs off everybody out of AD, resets their password and to prevent compromise."
17:06 "I used a PowerShell scanner to — well, I used PowerShell to script out, okay, what machines don't have these hardware GUIDs with an IR camera, PowerShell scanner, put it in a PDQ. Five minutes later I had, okay, we have 108 devices that I have to buy a camera for."
26:05 "Don't run scripts directly from AI either. Please do not do that. You have to vet your stuff."
7:19 "What I started doing recently was using AI to help me understand the language so I could write my scripts just to stay sharp."
23:09 "If I know something, I don't mind teaching somebody, right. Learning is growth. We're all in this together. Like this field is not for the faint of heart."

FAQ

Do I need to be an advanced PowerShell developer to automate my sysadmin work effectively?

No. David McFall's approach is built on reusing existing community modules and writing focused, single-purpose scripts rather than building complex tools from scratch. He emphasizes that a simple, well-tested script that solves a real problem is more valuable than an elaborate one that never gets finished.

How should I use AI when learning or writing PowerShell?

David recommends using AI to understand concepts — like how parameters work or how the Microsoft Graph API is structured — rather than copying and running AI-generated scripts directly. Every script should be reviewed, tested in a non-production environment, and understood before it touches live systems.

What PowerShell community tools were recommended in this episode?

Four tools were highlighted: ImportExcel (create Excel reports without Excel installed), PSWriteHTML (build interactive HTML reports from PowerShell), BurntToast (trigger Windows toast notifications via PowerShell), and Maester (automated Microsoft 365 security posture testing). All are open-source and widely adopted.


Categories:
  • » Data Protection » Backup & Recovery
  • » Data Protection
Channels:
News:
Events:
Tags:
  • Security Operations
  • Data Protection
  • Best Practices
  • How-To
  • podcast
  • Getting Started
  • AI & Machine Learning
  • PowerShell automation
  • Microsoft Graph API
  • Active Directory scripting
  • Microsoft 365 security posture
  • PDQ Connect PowerShell scanner
  • IT mentorship
Show more Show less

Browse videos

  • Related
  • Featured
  • By date
  • Most viewed
  • Top rated
  •  

              Video's comments: Practical PowerShell for Sysadmins with David McFall

              Industry Events (Sponsor Hosted)

              • Oct
                13

                Transitioning from CJIS to FERPA: Essential Audit Evidence for Compliance

                10/13/202601:00 PM ET
                • Oct
                  15

                  Risk in Real Time Demo Series: Virtual Patching: Protection at the Speed of Exploitation

                  10/15/202611:00 AM ET
                  • Oct
                    20

                    Harnessing Data Governance for AI with Cyera and Snowflake

                    10/20/202611:00 AM ET
                    More events

                    Upcoming Webinar Calendar

                    • 10/13/2026
                      01:00 PM
                      10/13/2026
                      Transitioning from CJIS to FERPA: Essential Audit Evidence for Compliance
                      https://www.truthinit.com/index.php/channel/2159/transitioning-from-cjis-to-ferpa-essential-audit-evidence-for-compliance/
                    • 10/15/2026
                      11:00 AM
                      10/15/2026
                      Risk in Real Time Demo Series: Virtual Patching: Protection at the Speed of Exploitation
                      https://www.truthinit.com/index.php/channel/1372/risk-in-real-time-demo-series-the-autonomous-era-orchestrating-a-resilient-enterprise/
                    • 10/20/2026
                      11:00 AM
                      10/20/2026
                      Harnessing Data Governance for AI with Cyera and Snowflake
                      https://www.truthinit.com/index.php/channel/2137/harnessing-data-governance-for-ai-with-cyera-and-snowflake/
                    • 10/27/2026
                      01:00 PM
                      10/27/2026
                      The HUMAN Experience: Real-Time Insights into Page Intelligence
                      https://www.truthinit.com/index.php/channel/2139/the-human-experience-real-time-insights-into-page-intelligence/
                    • 11/04/2026
                      11:00 AM
                      11/04/2026
                      Leveraging CISA’s Zero Trust Maturity Model for an AI-Driven Landscape
                      https://www.truthinit.com/index.php/channel/2149/leveraging-cisas-zero-trust-maturity-model-for-an-ai-driven-landscape/
                    • 11/04/2026
                      11:00 AM
                      11/04/2026
                      Aligning Agentic Intent: Understanding Your Agents' Purpose vs. Their Actions
                      https://www.truthinit.com/index.php/channel/2158/aligning-agentic-intent-understanding-your-agents-purpose-vs-their-actions/
                    • 11/05/2026
                      01:00 PM
                      11/05/2026
                      HUMAN Dialogue: Redefining Authentic Trust in the Agentic Internet
                      https://www.truthinit.com/index.php/channel/2160/human-dialogue-redefining-authentic-trust-in-the-agentic-internet/
                    • 11/19/2026
                      01:00 PM
                      11/19/2026
                      360View: Govern, Secure & Recover Your Microsoft 365 Environment
                      https://www.truthinit.com/index.php/channel/2076/360view-govern-secure-recover-your-microsoft-365-environment/
                    Truth in IT
                    • Sponsor
                    • About Us
                    • Terms of Service
                    • Privacy Policy
                    • Contact Us
                    • Preference Management
                    Desktop version
                    Standard version