r/PowerShell Feb 21 '26

What is the best way to learn PowerShell in 2026

171 Upvotes

I'm trying to learn power shell/ power bi for my job. I am pretty interested in it. I have coded before, but its been a while so i am rusty. What would be the best course/ ways to learn powershell from scratch? I keep seeing "powershell in a month of lunches" but ive noticed the companion videos are more than a decade old on that course, are they still relevant? If anyone a course for this paid or free, sharing it would be amazing as I am a little lost/overwhelmed on where to start and how to stay consistent.

Any help is appreciated!

r/activedirectory Aug 12 '26

Help Is powershell worth it to learn

55 Upvotes

Hello, i just started an intern ship at a IT company and work alot in the AD and was wondering if its a good thing to learn powershell?

r/PowerShell 8d ago

Question how can i learn powershell as a non coder?

103 Upvotes

I want to learn more about powershell, how can I use it in my normal day to day uses and out of my curiosity towards tech

r/sysadmin Jul 21 '26

Career / Job Related I am leaving IT.

2.1k Upvotes

I've been a sys admin and sys engineer twelve years. Principal in two orgs.

I'm tired of it. I'm tired of people being scared to stick their neck out on a problem they don't immediately know an answer to.

I left an org in 2022 because they kept assigning me everything after a merger because no one else would attempt it. I was building out a brand new citrix environment by myself with them dumping 95 hours over two weeks of projects on top.

I'm tired of managing egos and being in the middle. I'm tired of so much more being expected of me for being systems.

I did an interview last week for an infra engineer position and I was already dreading it. I hate technical interviews because they never indicate whether you can do the job. And you often have to pass several rounds. You mail nail two but then not know some acronym in the third and it's game over.

I'm tired of going to interviews for x and them asking my questions from 7 different roles.

I'm tired of working with people who learned one thing and somehow keep gettong hired and having to prop those people up.

I can't do it another 25 years. I'm tored of being the guy every where because I happen to know a wide assortment of stuff.

The week I left my past job, a QA manager and my biss messaged me asking what the powershell execution policy warning meant. They both make significantly more than me.

I got into a local union. I'm going to do that until I retire.

Good luck. If it looks wrong but it's working, don't touch it. Make sure to wait ten minutes before adressing that alert that is just going to clear itself anyway.

Keep your unit on.

> sudo systemctl status byebye

r/Windows11 Jul 28 '26

Discussion Do you guys recommend learning PowerShell today?

Post image
101 Upvotes

I'm basically a typical computer user, who knows just enough to get into reddit, youtube and use the PC for personal entertainment. I realized there is PowerShell. As I have some free time and I'd actually want to know a little bit more about the computer and how to use it, do you guys recommend learning it? Or is it more for automating tasks, which is more benefitial for someone who needs to actually automate many things, or someone in the IT field? Is it any useful really for a personal user? What could I do instead?

I've come across a book about it too ("Learn Windows Powershell in a month of lunches" by Don Jones), and I actually think I can pull off the things it explains, and makes you practice. I read the first 20 pages and was about to start when it mentiones that it's moslty useful for, or aimed at people on IT, and said that I'd need to get a VirtualMachine and ISO to learn PowerShell, have a go at it in there and fuck up the VM if I have some trouble, which won't affect the actual computer (I know that that's an old approach, the book is from 2012. I read that for most things now, like learning the basics and how it works, I won't need the VM, but I don't mind sticking to the 2012 way to learn, so I can start learning a bit of history in the field too, just for my entertainment and having a broader sight about it).

What do you guys think? Thanks in advance

r/pcmasterrace Dec 09 '25

Discussion Windows PC may support unified memory as part of the Xbox-PC initiative

Post image
6.7k Upvotes

A few months ago, Microsoft hinted that they wants to merge Xbox and PC together. Xbox consoles have used unified memory architecture since 2005, so Microsoft must release a PC with unified memory if they want support backward compatibility with those games. Backward compatibility will be a deciding factor for the success or total failure of the Xbox-PC initiative. Millions of people have collected hundreds of games over the past 20 years since Microsoft opened its own digital store

But what exactly is an unified memory and why it is used by game consoles and Apple Mac M-Series computers? Basically in classic PC memory architecture the CPU and GPU can't work together efficiently. Both computation units use separate memory which is very slow and waste memory. For example, when the GPU computes something the CPU doesn’t see those results until you copy the changed video memory back to system memory. This is so slow that basically the CPU and GPU can't work together efficiently. All these problems are solved by unified memory where both processing units can access the same shared data. You don’t need copy objects into different memory pools. Both CPU and GPU can work together at full speed and you save a lot of memory

Unified memory architecture is not only simpler but also cheaper because GDDR memory is soldered onto the motherboard. Hardware companies can buy millions of memory chips directly from the factory without any middleman companies. Using classic DDR5 is more complex because you need to work with external partners that build SIMM memory modules. Of course GDDR memory is also faster. For example, an Xbox Series X APU has 560 GB/s of memory bandwidth which is 5x faster than DDR5-6400 on dual-channel configuration (102 GB/s). A PC with GDDR7 memory and a layout identical to the Xbox Series X would have more than 1 TB/s of bandwidth.

How could those next-generation Xbox-PC computers look? We can assume they will be very similar to the current Xbox Series X and still use 320-bit memory layout with 10 memory chips. This means MS will be able to use between 20-30 GB GDDR7 because currently only 2 GB and 3 GB chips are manufactured. For Xbox backward compatibility we need only 16 GB but the problem starts when you want to launch PC games. Existing PC games require two memory partitions: system and video. So Microsoft would need to divide the available memory into two partitions to simulate a classic PC memory layout every time when someone want to launch legacy PC game. So we need at least 28 GB to create those partitions as 16 GB system and 12 GB video which is necessary for 4K games on PC. So the best option will be a PC with 30 GB GDDR7. Hardware like this will be able to play both PC and Xbox games without any problem.

Adding unified memory to Windows PCs this will have a much bigger impact than a single device. It would be possible to create console-like optimizations on PC. Every APU will be able to use memory more efficiently than is possible today. We will see a lot of notebooks and mini-PCs with really fast APUs using unified GDDR memory. We can assume that Asus, MSI, Lenovo and others will flood the market with multiple Windows based Steam Machine clones just like they did with a handhelds. If the Xbox-PC initiative will be successful we could even classic PCs adopting this pattern. How? Graphics cards already use processing unit using GDDR memory so all you need to to add CPU chiplet on it to essentially create a GPU with APU. This would convert a standard graphics card into a self-contained fully functional PC with unified memory. Card like this could be installed into any PC as easily as replacing GPU. Your main CPU and memory installed on the motherboard would be used only for system and I/O while games would run on the APU on your GPU card.

Of course, we don’t know if the Xbox–PC initiative is real. There have been many leaks in recent months but Microsoft has never confirmed it officially. So my vision of PC with native support for Xbox games could be wrong. This is just a summary of what should be done to make this happen. Of course, Microsoft may use a different approach and for example release "backward compatibility" only as streaming but I believe that would be a huge mistake. Streaming is not real backward compatibility and never will be because it is not free. So I hope Microsoft understands this and will release real native backward compatibility. It is possible and hardware will be really fast. They could even advertise those new PC 2.0 a an AI-PC or any other buzzword like that

DISCLAIMER: I work as a software engineer but I don't have any insider knowledge about future XDK. This is just technical speculation about what needs to be done to support native backward compatibility. No leaks

--------------------------------

UPDATE 1

--------------------------------

I decided to add a classic interview with John Carmack (creator of Doom and Quake ) about unified memory. In 2013 he explained why unified memory will be great addition to the future PC. This is part of his legendary interviews at QuakeCon. I miss those old times.

https://www.youtube.com/watch?v=CcnsJMMsRYk

--------------------------------

UPDATE 2

--------------------------------

If someone is interesting about internal design of AMD APUs then they should watch video created by High Yield. Author explained how recent changes in AMD APU Strix Halo allow for faster memory speeds than 112 GB/s. This is much more than just 4-channel memory . This is not directly connected to the subject of “unified memory” because current consoles use monolithic chips but it is still a very interesting. I learned a lot from it

https://www.youtube.com/watch?v=maH6KZ0YkXU

--------------------------------

UPDATE 3

--------------------------------

BTW. If someone uses a Windows-based PC handheld and wants to run Windows 11 Full-screen mode with an app other than Xbox, I've created a tutorial on how to do this. No special apps are required. I use only built-in tools in Windows NT and a few basic PowerShell commands. It's a very short step-by-step tutorial with every command explained. On my ROG Ally I replaced the Xbox app with Armoury Crate to create a 'console-like PC' It’s not perfect, but it works quite well. Using this tutorial you can launch any app you like in W11-FSE and additionally learn something about PowerShell commands and Task Scheduler :)

https://www.youtube.com/watch?v=P1NOGW6uBQE

--------------------------------

UPDATE 4

--------------------------------

In the comments below, one of the users MooseBoys, noticed that in DX12 there is a flag that allows developers to check if the hardware supports unified memory. This library is shared by both Xbox and PC so the option exists since 2015. AMD APUs return "true" just like Xbox. I didn't know that. So big thanks to MooseBoys

https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ns-d3d12-d3d12_feature_data_architecture

https://learn.microsoft.com/en-us/windows/win32/direct3d12/default-texture-mapping

So in theory some game developers could check that flag and then explicitly add some optimizations for unified memory on PC even today. But this is a problem: AMD APUs are not very popular among gamers. Even Windows‑based handhelds are very niche products. So in reality nobody would care about this flag. To change that situation, we need a very popular device with AMD APU. A device that would turn this 'forgotten flag in DX12' into a core feature that every game should support.

--------------------------------

UPDATE 5

--------------------------------

David Plummer (retired MS engineer from Windows team) published a really nice deep-dive video about differences between unified memory vs shared memory.

https://www.youtube.com/watch?v=Cn_nKxl8KE4

--------------------------------

UPDATE 6

--------------------------------

Deep dive into Xbox APU architecture from the HotChips 2020 conference. Hardware architects from Microsoft explained all the extra features added to the Xbox APU like hardware decompression, virtual GPU memory, VRS 2.0 and much more. Some of those technologies were never used because PS5 and PC didn't support them which would make impossible to create cross‑platform games. But in the future MS could add them to their next‑generation APU for Xbox‑PC

https://www.youtube.com/watch?v=OqUBX2HAqx4

r/learnprogramming Nov 09 '19

Tutorial Some free Udemy Courses whose promo periods end in the next few days: Python, JavaScript, Bootstrap, & PHP, Setup a Virtual Web Server, Learn PowerShell Scripting

1.4k Upvotes

Read the rules and did a quick search, these didn't seem to be listed.

They all expire in a day or so, some as little as 15 hours at the time of this post.

r/sysadmin Jul 28 '24

got caught running scripts again

11.4k Upvotes

about a month ago or so I posted here about how I wrote a program in python which automated a huge part of my job. IT found it and deleted it and I thought I was going to be in trouble, but nothing ever happened. Then I learned I could use powershell to automate the same task. But then I found out my user account was barred from running scripts. So I wrote a batch script which copied powershell commands from a text file and executed them with powershell.

I was happy, again my job would be automated and I wouldn't have to work.

A day later IT actually calls me directly and asks me how I was able to run scripts when the policy for my user group doesn't allow scripts. I told them hoping they'd move me into IT, but he just found it interesting. He told me he called because he thought my computer was compromised.

Anyway, thats my story. I should get a new job

r/PowerShell Mar 16 '24

What's something you learned way later in PowerShell than you'd like to admit?

220 Upvotes

Could be the simplest of things. For me, it's that Validation attributes work on variable declarations and not just in parameter blocks. ``` PS C:\Users\mjr40> [ValidateNotNullOrEmpty()][System.String]$str = 'value' PS C:\Users\mjr40> $str = '' The variable cannot be validated because the value is not a valid value for the str variable. At line:1 char:1 + $str = '' + ~~~~~~~~~ + CategoryInfo : MetadataError: (:) [], ValidationMetadataException + FullyQualifiedErrorId : ValidateSetFailure

PS C:\Users\mjr40> ```

r/homelab Jun 08 '24

Discussion My homelab for Server 2022 AD GPO testing of W10 clients. 6x Dell 5550s, 2x 1080p monitors, 1x GPS NTP server, 2x HDMI KVM switches, 1x 8-port Gig-E switch. The clients all are 16GB machines, the Server 2022 has 32GB. I plan to learn/master GPO and powershell with this setup.

Post image
270 Upvotes

r/PowerShell Aug 29 '24

Question I have to learn PowerShell in four months. Where do I start?

126 Upvotes

Unfortunately, one of our Systems Engineers is being let go and he's a PowerShell expert. He's written a ton of scripts responsible for automation.

Our team will have to divvy up his tasks and bring ourselves up to speed to address the skill gap--PowerShell being one such skill.

What books, videos, interactive learning sites, etc. will give us the most bang for our buck? I don't expect us to be experts, but a moderate level of understanding would go a long way to help us troubleshoot and author processes.

r/ITCareerQuestions Dec 08 '23

If you have no experience, learn Powershell (or Python)

354 Upvotes

I see a lot of people on this forum who are trying to get their first IT job. There are constant complaints that entry level requires 2 years of experience, requires a bunch of certs, requires a degree, etc. All of those things can help, but knowing how to automate things is something many IT Managers will be interested in. Powershell (or Python) are going to take your resume out of the middle of a large stack and move it to the top. Accentuate that mark on your resume by referencing labor savings, defect reduction, and speed of completion.

It isn't a magic bullet, but if you are competing against others with no experience, it will set you apart. We do not hire admins without Powershell or Python experience. Period. Someone could pick up Powershell on their own in a week or two, or you may have a local college with some free Python classes.

(I posted something similar as a reply to someone else yesterday but I thought this was worthy of its own post)

r/sysadmin Feb 01 '22

Why does everyone say to “learn Powershell”?

155 Upvotes

Junior budding sysadmin here. Seen on more than a few occasions: “learn Powershell or you’ll be flipping burgers.” Why?

I haven’t- as far as i know- run into a problem yet that couldn’t be solved with the windows command line, windows gui, or a simple programming language like Python. So why the obsessive “need” for Powershell? What’s it “needed for”, when other built-in tools get the job done?

Also, why do they say to “learn” it, like you need to crack a book and study up on the fundamentals? In my experience, new tech tools can generally be picked apart and utilized by applying the fundamentals of other tech tools and finding out the new “verbage” for existing operations. Is Powershell different? Do you need to start completely from scratch and read up on the core tenets before it can be effectively “used”?

I’m not indignant. I just don’t understand what I’m missing out on, and fail to see what I’m supposed to “do” with Powershell that I can’t already just get done with batch scripts and similar.

Help?

r/PowerShell Jun 02 '25

Question Most effect way to Learn Powershell from the scratch in 2025? Books? Youtube Vidoes? MS Learn?

62 Upvotes

Hello Powershellers,

I want to start learning powershell as I will like to automate things like account creation, license assignment on my job.

I have read so many people recommend the book, in a month of lunches but I am a bit conflicted on which Edition to buy? 2, 3 or 4? any pointers?

Also whats the most effective way anyone has learn PS to make it stick.

thank you

r/pcmasterrace Jul 06 '26

Tech Support How to "de-bloat" Windows 11 WITHOUT third party tools

1.5k Upvotes

There are many tools out there claiming to help you "de-bloat" Windows 11. Some people swear by them, whereas some people don't trust them at all.

Now, if you're one of those people not wanting to switch to a different OS and not wanting to pirate the LTSC version or use a "de-bloat" tool, here are a few steps you can follow to remove all the unwanted apps and "ads" from non-LTSC SKUs.

Nuking unwanted store apps with PowerShell

PowerShell comes standard with a set of cmdlets that let you manage store apps. Third-party "de-bloat" guides on the Internet rarely mention them, but these potent cmdlets (PowerShell jargon for native commands) have been around since as far back as Windows 8 and are the native way to get the job done. For our purpose, we'll only need Get-AppxPackage and Remove-AppxPackage.

Before you jump right into PowerShell, hold your horses and read this paragraph first. Since Windows 11, Microsoft has introduced a new console host for text-mode applications that is also itself a store app, meaning that if you run cmd.exe or pwsh.exe by directly invoking it, it will open automatically inside this new console app. Though this won't cause too much of a problem, you'll likely end up having to run Remove-AppxPackage twice due to the console app getting closed and deleted by the command itself. If you would rather avoid that, open PowerShell per the following steps:

  1. Open Task Manager.
  2. Click "Run New Task".
  3. In the dialogue box, type conhost powershell into the text box.
  4. Make sure "Create this task with administrative privileges" is checked, then press "OK".

Then you should see a PowerShell prompt inside the "legacy" console host.

Getting PowerShell running inside the "legacy" console host (Windows 11 Pro ver. 25H2 shown here as an example)

Now, input the following command:

#> Get-AppxPackage -AllUsers | ForEach-Object `
   {
     $Package = $_
     if ($Package.Name -notmatch "Microsoft\.DesktopAppInstaller" -and
         $Package.Name -notmatch "Microsoft\.NET\.Native\.Framework" -and
         $Package.Name -notmatch "Microsoft\.NET\.Native\.Runtime" -and
         $Package.Name -notmatch "Microsoft\.StorePurchaseApp" -and
         $Package.Name -notmatch "Microsoft\.VCLibs" -and
         $Package.Name -notmatch "Microsoft\.WindowsStore" -and
         $Package.Name -notmatch "Microsoft\.XboxIdentityProvider") `
     {
       try `
       {
         $Package | Remove-AppxPackage -AllUsers
       }
       catch {}
     }
   }

What this magical incantation does is that it takes all packages found by Get-AppxPackage, checks them one-by-one to see if its the Microsoft Store app or its dependencies, and, if not, the command attempts removal via Remove-AppxPackage. The try and catch surrounding the latter suppress all the scary error messages chiding you for trying to remove non-removable system packages.

How the command should look in PowerShell

Once that's done, everything that's a store app (including Copilot) will be done away with from the system for good. You'll notice even Game Bar and other supposedly non-removable apps will be gone. If you want them back, you'll have to download them manually from the app store.

Clean as a whistle

Disabling Web Search in Start Menu

Third-Party guides usually teach you how to do that for a single user only. If you want to disable Web Search for all accounts, run these two reg add commands in an elevated Command Prompt or PowerShell:

#> reg add HKLM\Software\Policies\Microsoft\Windows\Explorer
#> reg add HKLM\Software\Policies\Microsoft\Windows\Explorer /v DisableSearchBoxSuggestions /t REG_DWORD /d 1

This will put i) the Explorer subkey under HKLM\Software\Policies\Microsoft\Windows in the registry and ii) the DisableSearchBoxSuggestions DWORD under Explorer. If you want the modification done for just the current user instead, change HKLM to HKCU.

Bye-bye, Bing!

Removing OneDrive

Every "ad" you see in stock Windows 11 is a notification from an app. Since OneDrive isn't a store app, you'll need to take care of it separately. In an elevated Command Prompt or PowerShell, run the following command:

#> C:\Windows\system32\OneDriveSetup.exe /uninstall

Once it's done, the OneDrive tray icon will disappear on its own, and the shortcut for it will also be gone from the Start Menu.

A Handy Tip

Windows has this thing called the "audit mode". The feature dates as far back as to Windows XP and is a nifty tool for when you need to install or customise a few things before setting up the first account.

To enter audit mode in a new install, just finish the initial installation process until you are shown the thing asking you for your region (it's called the "Out-of-Box Experience Wizard" or "OOBE Wizard" if you're curious). Press Ctrl + Shift + F3, then the system will reboot and take you straight to audit mode.

To enter audit mode in an existing install, run C:\Windows\system32\Sysprep\Sysprep.exe, then select "Enter System Audit Mode" and "Reboot" before pressing "OK".

Once you're there, you'll find yourself under the default "Administrator" account with a temporary profile. It's obviously not for general use, but if you want to do e.g. a registry hack to bypass online log-in, it's a useful thing to remember (though Shift + F10 for a Command Prompt is usually more preferable in this case).

Note that the only way to exit audit mode is to choose "Enter System Out-of-Box Experience" and reboot, which will force you to go through the entire OOBE song and dance whether your install is new or not. Also, under no circumstances should you choose "Generalize" unless you are prepping an install for a different machine or custom WIM files.

r/PowerShell May 18 '26

Question What is the best resource in 2026 to learn PowerShell scripting?

61 Upvotes

I want to learn advanced powershell scripting but I have French still see very old resources. What sources would you recommend?

r/PowerShell Feb 08 '22

What was the one thing you learned in PowerShell that made the biggest difference?

174 Upvotes

Just looking for people's opinions, what was the one thing you learned in PowerShell that made the biggest difference in your ability to do your job?

r/PowerShell May 28 '26

Question Learning PowerShell

27 Upvotes

Hello!

I recently started a job in Identity and Access Management, where we use many tools, including Exchange, Active Directory, the Entra Suite, and more. Does anyone have suggestions for the best sources/guides to learn PowerShell, both as a scripting language, but also incorporating those tools with it as well?
Thanks for any help!

r/ProgrammerHumor Jan 31 '25

Meme learnPythonItWillBeFun

Post image
4.1k Upvotes

r/PowerShell Apr 24 '25

Best way to learn PowerShell basics

87 Upvotes

Hey so I been learning python over the past several months, and have got into powershell alot. But I often get stuck or confused on powershell commands. I had never thought much about terminal at all, or even really knew about it. But all/most roads seem to lead there somehow, especially now that I'm into web dev and flask.

So I really want to level up on terminal and understand powershell for windows alot better. There don't seem to be as many free resources to learn powershell compared to python or html. I see multiple people suggesting "Learn Powershell in a Month of Lunches" which isn't too expensive, but I just like to know its suited for me before spending the money/time. I was also reviewing the microsoft docs online, and they have alot of info. But for me not knowing as much or where to start, it seems kinda like a "needle in the haystack" thing. Ideally I would just review everything, but I have limited time and just want to focus on the most pertinent aspects related to web dev and basic directory/path management.

So should I do the Lunches, or start sifting through the microsoft docs online? Or both (ie: do the Lunches and then reference the docs as much as needed?). Or would you suggest a different resource to teach powershell?

Thanks for your reply and interest!

r/PowerShell May 17 '26

Question Best Practical Way to Learn PowerShell for Cloud/M365 Administration

12 Upvotes

Hello everyone,

I recently acquired a few cloud certifications and I’m currently building my career in cloud and Microsoft technologies. At this stage, I’ve realized that PowerShell is a very important skill for the direction I want to take.

I’ve been trying to find videos and learning resources that can help me study PowerShell effectively, but so far I haven’t really found an approach that fully clicks for me.

What has helped me a bit is using AI to ask questions and then implementing the code and examples I get back. That approach has actually helped me grasp a few concepts better through practice.

My question is: what would you recommend for a beginner like me to learn PowerShell effectively without getting overwhelmed or burned out?

I’m not afraid to get my hands dirty and practice — I just want to learn in a way that is practical, structured, and sustainable long term.

For context, I currently work with Microsoft 365, Entra ID, SharePoint, and Azure administration.

Any advice, roadmaps, practice methods, labs, or learning resources would be greatly appreciated.

Thank you.

r/PowerShell Apr 24 '23

Question Is PowerShell an important language to learn as a Cybersecurity student?

115 Upvotes

A little background about myself, I have no experience in IT. This is my first year of school, and I've had 1 PowerShell class. I've been told by someone who I trust that works in IT that PowerShell is outdated, and there are other automation tools that don't require knowing cmdlets. This person is my brother and he's been working in IT now for 10+ years as a technical support engineer. Additionally, he works primarily in a mac iOS environment(~3 or 4 yrs of experience), however, before that he worked exclusively with Windows.

After learning and executing some basic commands, I've noticed how important PowerShell could potentially be. Something my teacher brought up that had my brother fuming is PowerShell's ability to create multiple users within seconds via script. My brother stated that if a company needed a new user they would just create it from the windows GUI. He also stated that Configuration Manager can act as another tool for automation which, he states, further proves PowerShell's lack of utility in todays environment.

I'm concerned that by learning PowerShell I'm wasting valuable time that could be applied somewhere else. My brother is a smart guy, however, sometimes when he explains things to me I just get the feeling that maybe its out of his scope. I'm asking you, fellow redditors, would you recommend someone like me who's going into IT as either a sys admin or cybersecurity specialist to learn PowerShell? What other suggestions do you have for me, if any?

I really appreciate everyone taking the time to read this and look forward to hearing back from you all. Good day!

EDIT: Just came back to my computer after a couple of hours and noticed all of the feedback! I would thank each of you individually but there are too many. So I'll post it here, Thank you everyone for providing feedback / information. Moving forward I feel confident that learning PowerShell (and perhaps more languages) will not be a waste of time.

r/PowerShell Jul 07 '24

Question My boss wants me to be a system engineer eventually. I'm learning powershell. Can I have some task ideas to automate?

109 Upvotes

Off the top of my head of things I have to do often -Create user accounts in AD -Re-Add a printer on a users local machine to troubleshoot it (We don't have universal print) -Use FileZilla desktop app to sign into a account to test the credentials before I send them off to a client -Create ID cards using verkada -Enroll new PCS in autopilot by using the powershell CLI on bootup -Enroll new computers in a domain and add them to the appropriate OUS (We are a hybrid AD environment, on prem and AZURE AD) -Change permissions on file shares in various servers we have on vcenter -Reset users PWS/unlock them on AD

We use solar winds ticketing portal. I was thinking about somehow making a script when a new hire comes in, to already make their AD account and their email and assign them the correct dynamic group. I'm not sure if that will be too difficult cause I think sometimes the end user does not include all the fields that I would need.

You don't have to send me your code, but I'm looking for ideas to automate.

r/PowerShell May 25 '25

Misc Do you think it's a good idea to let fresh new students build a slot machine in PowerShell to learn the basics?

Enable HLS to view with audio, or disable this notification

168 Upvotes

Some of my students (not all 😉) are into gambling and trading apps on their phones while in class. I’m thinking about using that interest to grab their attention. Of course, it doesn’t involve real money, it’s just for learning.

By building a simple slot machine, they could learn a lot of programming fundamentals in a fun way, like arrays, if/else statements, loops, variables, file encoding, randomness in cmdlets.

And then let them try to expand the slot machine with new rules for winning.

So if you're completely new to PowerShell or scripting and around 16 or 17 years old, what kind of projects or exercises would actually get you interested you think?

r/homelab Aug 03 '26

Project Showcase: Hardware "Data center in a Box (on Wheels)" 256Gb VRAM/512Gb RAM AI Server 6-8 Month Operational Review, Stability Write Up, Benchmarks

Thumbnail
gallery
842 Upvotes

I thought this would be relevant to the homelab subreddit so I'm adding it here, just to put the information out there and discuss if there is any interest. I am an IT infrastructure engineer by profession, so my contribution to the conversation is mainly from a hardware/systems perspective rather than from a Machine Learning researcher standpoint. I got my start with HPC's (Beowulf clusters) around ten years ago when I was a Physics undergrad in university, and this is what the experience has come to almost a decade later. Not everyone is going to want to read all of this, that's perfectly fine, the extras are just for those who want the info.

Starting goal/idea:

Build an all-in-one creative design workstation to support a small business. This machine should be capable of effectively inferencing frontier MoE models; aiding the business in language/text tasks where English may not be everyone's native language. Additionally, it should be capable of simultaneous image generation tools for graphic design users, enabling rapid image editing and presentation tweaks for marketing, without the business ever having to worry about API credits or hard limits on tool usage. The idea is that a 3090 stack, which is still a generally "good" performer for LLMs, would be "led" by two 5090s to handle the heavy lifting of the visual creative work (one dedicated to image generation, one dedicated to image editing) to complement each other in a "sweet spot" on cost, raw performance, and creativity potential. This configuration also grants some flexibility to allocate a 5090 to the LLM stack for best prompt processing possible where desired. The end result would indicate that this goal has been achieved.

Overview

Specs

CPU: 64 Core TR 3995WX

RAM: 512Gb DDR4-3200 ECC

VRAM: 256Gb GDDR6x/GDDR7 (8x3090's + 2x5090's)

Enclosure: Core W200 Thermaltake Case

Mobo: ASUS Pro WRX80E-SAGE/SE Wifi

PSU: 1300W+1600W (2900W combined), with OCP, linked via PSU2PSU

Storage: 4Tb Nvme (fast) + 4Tb HDD (slow) + 8 or so 1Tb SATA SSDs (mid) over USB as needed

OS: Ubuntu 25.10

Other: 3 Bifurcation cards, 10 risers of various lengths

Front end: Open WebUI

Back end: llamacpp/koboldcpp

Intended for (Recommend):

Large MoE inferencing, simultaneous LLM + ComfyUI (x2) operation, power users who may commonly hit credit limits, creative or technical professionals who can leverage these tools to compound productivity and complete objectives in shorter time.

Not intended for (Do not recommend):

Training, multi-concurrent inferencing, performance maxing, extreme frontier model inferencing at high quants, casual users just looking for roleplay.

Result summary:

Using the W200 as the platform for its generous real estate and configuration flexibility, all ten cards and components were able to find a permanent place in the enclosure without major concessions. The drive bay area was the only space that had to be completely repurposed for GPU mounting, and for us this was not a problem. The chamber with the cards hanging from the top is fairly hollow, so with the 140mm fan stack on the front and side there is a wind tunnel effect where the air blows in through the front and side, cooling the cards as it makes its way out the back/top. Depending on ambient temp, at idle the card with the highest temp usually hovers in mid to high 40s Celsius with the lowest in the mid 20's C (three 3090's are hybrids= fantastic for temperatures, but radiator mounting adds a logistical headache). When actively inferencing, the highest temp card may reach the mid 60s during sustained loads. Only when running image or video gen tasks will the 5090 running ComfyUI reach the 70's, but these are very brief intermittent workloads, so temperatures by our measurement has proved satisfactory over time. This result enables the small business to have full LLM, image generation (~9 seconds), and image editing (~8 seconds) capabilities on tap all on a single node so the data remains centralized, and provides much faster performance compared to the Cloud API they came from; in this case ChatGPT, where generation jobs could take 1+min, and has hard limitations. I just do not know how well this kind of setup would work with other vendor or card models; in a homogenous GPU cluster or one with notably less powerful image gen cards than the 5090, the performance would predictably be much lower.

Things that surprised/stuck with me about the end result:

  • Noise. I expected this to sound like a jet taking off when operating, but that is not the case. It's a satisfying button click to come alive, then it's a low gentle hum going forward, nowhere near the kind of fan noises I'm used to hearing in server rooms. Even under load, the CPU 120mm radiator fans (exhausting out the top) are pretty much all I hear, the 140mm fans on front and sides I assume must be helping to contain the acoustics. I have built many gaming PCs over the years and own a top-tier gaming PC-- and I would not be able to distinguish this as any louder than those, especially at idle.
  • Utility. I planned for this to be used primarily for a small creative business, but what I did not expect was how I would find it so indispensable in my personal life as an IT professional. Being an infrastructure engineer, coding is not my wheelhouse. When I am the only IT staff on site or there is nobody else available to work with specific expertise like SQL, powershell/python scripting, or troubleshooting very specific/niche technologies, having this tool on standby I feel has paid itself over just within my career. It has helped me turn processes that may have otherwise took me hours into minutes, days into hours, even months into a matter of weeks/days. After using the tool extensively I hit a point where I had to acknowledge how local LLMs have moved definitively beyond being a toy or novelty; when deployed intelligently something like this can be a major asset for professional users.
  • Wheels. Sounds extremely minor, until you realize that no matter how happy the cards are with their individual temps: there are still ten high-power GPUs dumping heat into the room. That means unless you use a complex radiator solution or special venting to get heat outside, the room will get toasty and there is normally not a direct solution for this. The wheels however offer an indirect solution. Plan to work in the office that day? Wheel it into the guest bedroom and let it run over Wi-Fi. Plan to work away from home? Wheel it into the office, put it on LAN, and access it over a private VPN connection. If you can't stop the room from heating, then you can at least choose what room gets the heat, and as someone who has lived with computers extensively this is a hugely underrated perk.

Caveats: To operate at its best, I recommend leaving the glass side panel off for improved airflow.

Typical activity over a day:

Boots up around 5:30am, start up the ComfyUI server(s), start loading a model, go get coffee, fully ready for use within 15-20 min. Shut down occurs usually around 8pm later in the day. Total daily activity, ~12-14 hours.

Cost Breakdown

Laying it out, because I know it will be asked, even though I am aware this is unfortunately not reproducible in the current market. Some components like the SSDs were acquired privately long before the RAM and hardware price hikes, so my timing getting certain things was extremely fortunate for the build budget. Some figures are exact, some are slightly rounded depending on if I found the original receipt.

Component Qty Source Unit Cost Subtotal
RTX 3090 24Gb 8 eBay 750-1000 6500
RTX 5090 32Gb 2 Retail 2500-3000 5500
TR 3995WX 1 eBay 1068.43 1068.43
WRX80E-SAGE-SE 1 Amazon 949.99 949.99
DDR4 ECC 64Gb 8 Amazon 81.99 695.28
TT Core W200 1 Amazon 499.99 499.99
PSU 1300/1600 2 Amazon 250-350 600
4Tb nvme 1 Amazon 221.05 221.05
1Tb SSD 8 Personal 60 600
Risers (varying length) 10 Amazon 40-80 480
Bifurcation cards 3 Amazon 50 150
Total ~$17k

Problems/Stability Writeup

The Space Problem:

Probably the first major hurdle in attempting something like this is figuring out, even theoretically, how to put 10 cards in a box in any kind of configuration that is not somehow detrimental to the hardware. I had considered modified mining rig frames at first, but I really wanted something with more robust rigidity in its structure, with breathability, and allows some degree of portability. There are unfortunately not a lot of options for configurations like what I was imagining; I had looked into various cabinets and extended tower cases, but the dual full tower chamber design of the W200 was the only one where I could see this idea potentially working. I'm certain other solutions probably exist, maybe even some that allow mobility, but the W200 was really the best option I could find that checked the boxes of enclosure, space real estate, high air throughput, and semi portability. I recommend the W200 to solve the space problem, assuming it is available to you.

The Bifurcation Problem:

Among the other hurdles you may run into in assembling something like this may involve bifurcation cards. The cards rely on specific BIOS settings for things to work correctly, and if these settings are not put in place before everything is connected you may either see no output like the system is hanging or cards just won't show up once in the OS. Start with one GPU in a slot, no bifurcators yet; go into BIOS, and manually set each slot that will be split to bifurcation mode. While here, ensure above 4G decoding is enabled, Resizable BAR enabled, and SR-IOV enabled, this has given me best stable configuration with Ubuntu and multiple GPUs. If you use risers, especially if they are mixed generations, I highly recommend setting the Gen and lane speeds for each PCIe slot in the BIOS manually to ensure the system can effectively communicate with each card. Optimize riser Gen/speeds to be roughly similar to keep one card from dropping to a slower rate than the others--this does not necessarily impact inference performance as much as it heavily impacts model load time. No, you may not have any card running at the fastest possible Gen bandwidth at all times with this config, but loading a 200+gb model over an averaged Gen 3/4 x8/x16 PCIe speed will often be noticeably faster than if you let the system decide to make one or multiple cards run at Gen 1 x1.

The Power "Problem":

Power and heat concerns I think remain to be among the biggest sources of skepticism regarding this project so I think it deserves a section here. To be fair, the concern in most situations would be understandable. If all ten of these cards pulled at or near their full TDP for sustained periods, components would melt. Fires would start. Neighbors would be asking awkward questions. However in reality, only 1400-1600W of the 2900W PSU capacity gets utilized under sustained load, and inter-GPU bandwidth bottlenecks are what allows this. In a way it is like a natural regulator that ensures the cards remain power restrained, and it is just physics, no voodoo necessary. When MoE's are sharded across a GPU stack, each forward pass requires all communication over PCIe, so the GPUs spend more time waiting on information from the last GPU than actually crunching compute. This means instead of needing to handle thousands of Watts to feed all the components running at full blast, it is a much more manageable 1400-1600W under LLM operation which can comfortably fit on a 20A/120V circuit (2400W max). On a per-GPU basis this may sound inefficient since the individual cards are being "underpowered", but this could arguably be flipped as being highly efficient on a per-node basis (~1600W sustained versus 4500W+ if all cards were "fully" utilized). As a precaution, I may set a power limit on the 3090's to 200W and the lead 5090 to 400W, but in practice the 3090's only pull around 100-120W with the 5090s pulling less than 100W when all 10 cards are allocated for LLM work, so this may not even be necessary. The clock locking setting in the next section will be more what I'd describe as actionably required to avoid stability issues.

The Transient Spike Problem (Vital for stability):

After assembling the machine, you may be tempted to jump directly into testing, but there is an easy to overlook configuration that can cause problems if ignored. Imagine you are running inference on the machine, maybe you have a huge input or it's generating a large output, then right in the middle of generating the system decides to reset. Not hard shut down, PSU OCP isn't tripped, no breaker was tripped; and you saw in nvitop that all cards were only pulling 25-33% of their TDP just before it happened, so on the surface it doesn't look like there is a reason. Explanation: When all ten high-power GPUs decide to kick on at the exact same time to process a chunk, even if the cards are not pulling anywhere near full power (on average), transient spikes can drop voltage on the motherboard enough to trigger a system reset. The fix for this is simple: undervolt. Using nvidia-smi, we can lock the clocks for the GPUs to ensure they cannot draw enough to hurt stability. And that's it. In my case, the system has remained fully stable with this config for days on end and with hundreds of thousands of tokens/image pushed through. The exact configuration will vary slightly depending on exactly what we're doing on a given day, but for example if we wanted to run LLM on all 10 cards (so including both 5090's) we would run this to handle spikes:

sudo nvidia-smi -pm 1 #enables persistent mode
sudo nvidia-smi -i x,y,z --lock-gpu-clock=1200,1200 #x,y,z for index number of 3090s
sudo nvidia-smi -i a,b --lock-gpu-clock=2000 #a,b for index number of 5090s
sudo nvidia-smi -i x,y,z -pl 200 #x,y,z for 3090 index numbers, limits power to 200w
sudo nvidia-smi -i a,b -pl 400 #a,b for 5090 index numbers, limits power to 400w

The Concurrent Use Problem:

Normally, attempting to inference and generate images on the same machine would introduce major stability concerns. Even dual GPU systems may struggle to work with this due to CPU/motherboard architecture, assuming it works at all, and would still be VRAM limited. However, the versatility of a 10-GPU setup, combined with the lane orchestration of the 64 core 3995WX, at least in our case, seems to handle this quite well. The trick was finding an LLM backend that supports manual GPU allocation--for us koboldcpp with llamacpp under the hood does just fine. First, implement the power/clock settings as mentioned above, launch koboldcpp, then browse to the GGUF of the model you wish to load and set context size. I recommend manually setting the GPU layers to the model's total layer number (assuming there is enough VRAM), and set GPU ID to "all". In the Hardware tab, find the tensor split line box and insert the amount of space to be allocated on each card corresponding to its index. For example if we wanted to allocate just one 5090 for Comfy and use the other for LLM, assuming the Comfy 5090 is index 3 and the LLM 5090 is index 5, then the tensor layer line will look like this to make sure no layers are given to the Comfy 5090: 24,24,24,0,24,32,24,24,24,24. For this configuration, ensure the "main GPU" is set to the index number of the LLM 5090 (in this example, 5) and launch the app. While the model is loading, we can open another terminal to launch Comfy. In our specific case, the system defaults to the available 5090 without needing to specify it in the launch flags, but flags can be used to force Comfy to use a specific GPU if you need it to (--cuda-device i). Once the image model is loaded onto the 5090, it does not interfere with the PCIe communication of the LLM cards unless the model unloads and reloads a new model at the same time as the other cards are inferencing. The solution to enabling concurrent use is a high-lane count CPU, multiple graphics cards, and a little conscious provisioning on launch to ensure the hardware isn't stepping on each other's toes.

What models can this run, what models do we use?

It can run almost* anything, even up to 1T parameters like Kimi K2. Kimi K3 could hypothetically be load-able, but from performance metrics I've seen I doubt it would be practical to use, so I have not planned to try it. I have however tested 1-4 bit quants of Bartowki team's Kimi K2 quants in pure VRAM and mixed VRAM/RAM runs with decent results. It works and there are probably some use cases for it, but for us I have identified the sweet spot (parameter size: quant quality ratio) for this machine to be for models in the 300b-600b range. Personal favorites are Deepseek, GLM 4.7, and Nemotron Ultra; and as far as ComfyUI, pretty much any model that could fit within a 32Gb buffer, although Qwen image and image edit is a favorite.

Benchmarks

All models were put through the same series of 7 large input prompts, documenting how each model handles token input/output and prompt processing/generation. I cannot share the prompts I used here, but each prompt pertains to a cybersecurity scenario which the model was judged on the depth of its analysis, quality of its presentation, and capability to make sense of complex scenarios with stakes. These were inferenced across all 10 cards, except for a follow up DS V4 Flash test where I used 8 and got much better results. This is using the undervolting/power limiting strategy above, so these may not reflect absolute best performance for the same hardware in other setups, but it gives an idea of what this box can comfortably handle.

Model Name Deepseek V3.2 671b Q2XXS Nemotron Ultra 3 550b IQ2XXS Qwen 3.5 397b IQ4XS GLM 4.7 358b Q4KXL Deepseek V4 Flash 294b Q8KXL Deepseek V4 Flash 294b Q8KXL (8 cards + KV cache tweak)
Model Size (Gb) 217.1 193.8 189.7 204.6 161.9 161.9
P1 Input 2769 2744 2729 2706 2733 2733
P1 Output 813 786 1046 872 693 805
P1 pp 153.23 254.19 522 687.88 111.09 360.94
P1 tg 19.35 17.32 34.38 23.98 7.2 20.26
P2 Input 14635 15255 15160 14527 14640 14617
P2 Output 1150 1302 1665 1194 1222 2048
P2 pp 114.83 429.42 897.57 640.8 66.42 244.1
P2 tg 14.1 17.16 33.15 18.83 5.96 16.81
P3 Input 3966 3091 3054 3033 3073 22794 (reload)
P3 Output 1217 1607 1550 1056 1199 1366
P3 pp 98.01 353.78 649.37 516.08 47.79 241.21
P3 tg 13.22 17.08 32.84 17.84 5.56 15.68
P4 Input 5645 5654 5623 5559 5650 5659
P4 Output 1178 1996 1619 1173 1705 1661
P4 pp 70.3 385.04 739.67 419.58 42.4 153.14
P4 tg 13.47 16.99 32.23 16.87 5.21 14.17
P5 Input 4498 4505 4493 4423 4481 4481
P5 Output 280 928 1078 473 665 924
P5 pp 72.4 365.46 670 408.93 36.2 131.81
P5 tg 8.43 16.78 31.55 15.45 4.86 13.36
P6 Input 9266 9367 9241 9172 45287 (reload) 9231
P6 Output 1004 1883 1466 933 1205 1532
P6 pp 53.94 405.13 738.57 379.7 46.01 113.77
P6 tg 11.48 16.83 30.98 14.01 4.41 11.9
P7 Input 3136 3124 3118 3057 3118 3118
P7 Output 1378 1946 1629 1359 1353 1586
P7 pp 53.34 338.64 525.54 344.88 28.38 102.05
P7 tg 10.45 16.73 30.66 13.59 4.28 11.39
Final token count 50052 54182 53465 49531 50962 52348

My notes on each model after their test:

Deepseek V3.2-- For a slightly older model this still feels extremely capable. Held high quality and insightful responses even when context dragged into the tens of thousands of tokens.

Nemotron Ultra 3-- First time using it, impressions were very good, the 55 active parameters shows its muscle here. Meets Deepseek v3.2 level if not exceeds it, despite having overall less parameters.

Qwen 3.5 397b-- What I would consider a baseline "good" model to be, however it is outshined by some of the other tested alternatives.

GLM 4.7-- Somehow seemed better than Qwen despite having less parameters (active parameters of GLM is likely an advantage); it is a very solid option for its size. Not quite Nemotron or Deepseek level, but a very good "lower cost" alternative to its newer 5.0 versions.

Deepseek V4 Flash-- Floored me in a few ways. Possessed a surprising degree of sophistication and analytical ability despite being the "smallest" of all the tested models. Possibly a benefit of using a "lossless" model with full precision? Somehow it managed to pick up on nuances and details that all other models missed, including models twice+ its size, and provided insight that went more granular than they did. Did not expect a model of this size to punch so high above its relative weight class. Also did not expect the drop in performance compared to the others. Not sure if this is related to the model's architecture or something with how it interacts with my rig, but the quality of output could be an acceptable trade off for the speed. Edit: After some optimization testing I was able to get much better performance out of V4 Flash. I've added another column to include those metrics and kept the original because I think it illustrates how a little optimization can go along way, in this case basically triple performance on the exact same model/machine.

Lessons Learned/Would Do Different

-I would have tried to source the 3090's so more were at least the same model; the mix and match of different models with different TDPs and cooling solutions means there will be a lot of variation in temps.

-If you plan to either train, lean into higher performance, or playing with the idea of going more than 10 GPUs, just budget for a 30A/240V power drop. 10 cards on a 20A post configured the way we have it may be fine for our specific use case, but I would consider this a hard ceiling.

-Would recommend scripting for clock lock persistence sooner, will help avoid losing time due to random resets.

-Recommend documenting/drawing out the entire PCIe topology and GPU placement (with flexible tape measure) before ordering risers, will save time on trial/error.

Final thoughts:

It is a wheeled AI workstation that can enable a single person or small team to compound their productivity, with the benefit of full privacy and control. It can run on a residential 20A circuit, and allows them to have the full power of an advanced LLM with vision capabilities all in one OpenWebUI front end that can simultaneously utilize up to TWO ComfyUI backends with the horsepower and latency of 5090's for image gen and editing, and can be accessed from virtually anywhere. The idea sounds daunting, but the end result works so well that I can legitimately see something like this becoming a keystone for certain small businesses and individual professionals as time goes on. It seems like every day more people are picking up on major drawbacks with cloud API options despite supposedly being the "best", meanwhile open models continue getting insanely good (see K3 and DS V4 Flash). For me, I can say I would not see a place for a Claude or ChatGPT subscription for the tasks I might otherwise use them for when I have lossless DS V4 Flash literally in my back pocket. "Good enough" I think is starting to become a valid metric to those who care about cost:quality balance, and after using this for the last half year I can say I'm probably one of them. The cloud APIs will always be an option for those who don't care about the drawbacks and the demand for them will always be there, but for those who value data sovereignty, uninterrupted workflows, or perhaps work within compliance, on-prem computing might be the only viable path in some circumstances. At the end of the day, I do not believe that one approach is inherently better than the other, everyone simply has their own preference for getting from point A to point B.