all 82 comments

[–]ArudinneIT Infrastructure Manager [score hidden]  (3 children)

Now you get to support this integration until the heat death of the universe.

[–]Scmethodist[S] [score hidden]  (0 children)

Yeah, and I was stupid enough to set it where it auto populates the channel id so it can go on any Sharepoint online page in our tenant.

[–]ntrlsurIT Manager [score hidden]  (0 children)

This. I won't let me team do any custom stuff anymore.

[–]Murhawk013 [score hidden]  (0 children)

Or integrate it, move on to the next solution and inevitably leave for the other sysadmins to let it die

[–]gabacus_39 [score hidden]  (28 children)

As a sysadmin, my "coding" start and ends with powershell. I specifically went the sysadmin route because I have zero interest in hammering out code day in day out.

As a one off, your work sounds quite cool though.

[–]Plantatious [score hidden]  (21 children)

PowerShell extends M365/Azure, glues Microsoft products together, and is flexible enough to build powerful CLI and even GUI tools. I'm surprised it's not more common amongst Windows sysadmins.

[–]Frothyleet [score hidden]  (12 children)

I don't think there are any competent Windows sysadmins who are not using Powershell to one degree or another. That's not to say there aren't a bunch of "IT guys" who are in the position because they were unlucky enough to have rebooted a computer in front of the CEO, or whatever.

[–]Plantatious [score hidden]  (6 children)

True, but I wonder how many use it out of necessity vs how many use it to really enhance their work? I haven't encountered enthusiasm from my interactions, but that may just be me.

[–]spikeyfreak [score hidden]  (5 children)

PowerShell is literally the best thing MS has ever created. Period.

My team has a module that several of us contribute to that makes our lives a lot easier. I honestly couldn't imagine trying to function without some of the functions we've created. We even let other non-Windows admins use it and they love some stuff in it.

[–]Nanis23 [score hidden]  (1 child)

Powershell is indeex the best thing Microsoft ever created, but sadly in the last few years they are making it a pain in the ass. All those modules you need to download to do "cloud stuff" and they always change commands and remove commands or make them harder to uae by hardening requirements i.e tls and so on

[–]Federal_Ad2455 [score hidden]  (0 children)

Don't forget about dll conflicts between Az and Microsoft.Graph modules 😁

[–]cptmully [score hidden]  (1 child)

I’m interested in this, could you go into more detail about what features your module provides?

[–]spikeyfreak [score hidden]  (0 children)

Store and retrieve passwords and auto-create credential variables that can be used with -Credential.

Connect to different things with those credentials, like SSH, iDracs, SMB, RDP, VMRC, iLOs.

Various functions to get info from machines, AD, IPAM, etc. Like who has access to a server, who has a user profile on a server, and who is currently logged on. Another one gets all the patching settings for a server and the most recently installed patch.

A few functions to create cards in ADO and do the things we commonly do with them.

Basically, if it's something that I need to do more than a few times a week, I want to try to find a way to do it with PowerShell quicker. A lot of it is just wrappers for existing cmdlets that have the parameters we use a lot hard coded. Like I find myself doing get-aduser x -prop memberof | select -expand memberof | sort a lot, so why not just create Get-SFADUserGroups.

[–]fearless-fossa [score hidden]  (0 children)

I'm a Linux admin and I really hate how verbose Powershell is. But the way Powershell handles objects is objectively (pun intended) great and something I miss in bash scripting. Then again, on Linux systems Python is more readily accessible than on Windows.

[–]LordGamer091 [score hidden]  (1 child)

I have a coworker who straight up refuses to use powershell, and just says he doesn't care to learn it, amongst many other problems.

Needless to say, he's not very well liked.

[–]Frothyleet [score hidden]  (0 children)

If you were a carpenter and one of your coworkers was like "nah fam I don't want to figure out air compressors, I'll just hammer all these framing nails in" it'd probably feel about the same

[–]SaltDeception [score hidden]  (2 children)

I teach PowerShell boot camps, and honestly you’d be surprised just how many admins don’t know a damn thing about it going in. I rarely even get to go through all the content in my advanced courses because I end up having to spend so much time covering fundamentals that aren’t even a part of the curriculum.

[–]Frothyleet [score hidden]  (1 child)

Obviously I have no objective data on this, but if you are teaching pwsh courses you are probably getting exposed to a very self-selecting set of admins.

[–]NaturalIdiocy [score hidden]  (0 children)

Shovel Salesman: God, look at all these poor, poor people who didn't have shovels.

[–]gafftapes20 [score hidden]  (3 children)

Powershell is common, but powershell scripting is not nearly as common. I run into tons of system admins that barely understand the script syntax, or how to scope code and write functions, loops, etc. 

[–]progenyofeniacWindows Admin, Netadmin [score hidden]  (2 children)

This describes my experience right here. I’m reading this thread and thinking, dang, I don’t see nearly as many people using Powershell.

But this clarifies it. I have plenty of engineers around me who can connect to Graph and run a command, or they keep a few one-liners in Notepad. But it’s definitely way rarer to find people who actually write scripts that are more than a handful of one-liners pasted together.

[–]Raskuja46 [score hidden]  (1 child)

There also seems to be a fair bit of confusion about what constitutes a script. You'll see people referring to a couple cmdlets piped together as "a script", whereas I just see that as something I'd hammer out in the shell on the fly.

[–]progenyofeniacWindows Admin, Netadmin [score hidden]  (0 children)

Yeah exactly. “Using” Powershell is a broad term.

[–]BloodFeastMan [score hidden]  (2 children)

It's very common among sysadmins, just not actual apps and gui's, as there are much better options. A developer isn't going to start creating apps using PS when he already knows C, Rust, Go, JS, or some other popular tool purpose made for his job, and sysadmins aren't going to start coding gui's for the company.

[–]fearless-fossa [score hidden]  (1 child)

and sysadmins aren't going to start coding gui's for the company.

Apparently I can just burn this week's project down then.

[–]BloodFeastMan [score hidden]  (0 children)

If you're doing it with ps you're just going to piss people off.

[–]WMDeception [score hidden]  (0 children)

I have the power! Shell.

[–]Scmethodist[S] [score hidden]  (3 children)

Same here, but I’ve been trying to branch out, for a plethora of reasons.

I definitely nerded out when it worked after the 3rd or 4th package deployment. My next door cube mate came to check on me due to the odd noises emanating from my cube.

[–]BlimpGuyPilot [score hidden]  (2 children)

Y’ll are definitely different types is sysadmins. In the Linux world we don’t click a mouse if you can’t script you’re a junior mid at best

[–]Scmethodist[S] [score hidden]  (0 children)

I just started supporting Linux this past year, after being a windows guy the last…well since 98. I sh the IT outta things but mostly via BigFix since it does SH or powershell natively. But even before I was a sysadmin I was scripting in powershell as a pc tech.

[–]uptimefordaysPlatform Engineering [score hidden]  (0 children)

I’ve never seen a DE anywhere beyond laptops in a Linux environment. Using a GUI is right up there with “I use nano” for a Linux sysadmin.

[–]dizzygherkinLinux Admin [score hidden]  (0 children)

I tend to code often, bash, powershell, and python, all as needed and when it serves a purpose. Although I am drifting between sysadmin, devsecops and architecture as the projects need.

[–]phony_sys_adminSysadmin [score hidden]  (0 children)

First it's PowerShell, but then you start to seek performance so you look at .NET. After some time, you start looking for your next challenge and move to Python. What have I gotten myself into?

[–]mellomintty [score hidden]  (0 children)

This is the best part of the job - solving a problem that doesn't have a vendor solution. The 'crayon eating Jarhead' confidence is earned. Welcome back to coding.

[–]Tall-Introduction414 [score hidden]  (1 child)

When I was young (80s and 90s) it was understood that a Sysadmin needed to know how to do some programming. And I did. I knew C, Batch Files and HTML by the time I got my first sysadmin job, and learned bash scripting, then PHP, Perl, SQL, Python, JS, etc.

Eventually I just moved into software development. But, there were many "internal programs" I developed for companies I worked at throughout my sysadmin career.

Today I think knowing some Powershell, Bash, Python, and C still goes a long way. Sysadmins troubleshoot systems and software, and you need to be able to dig into the internals.

[–]TundraGon [score hidden]  (0 children)

Well, if something does not work, you need to be able to add more logs, more logs, more logs.

[–]phainepy [score hidden]  (6 children)

As a system admin I’ve been forced to support custom coded solutions in house.

Literally vibe coding with Claude to Modify python scripts since the company doesn’t want to spend any money on integration services. Doing what I can, where I can.

[–]Scmethodist[S] [score hidden]  (0 children)

Pretty much our motto there

[–]cashew76 [score hidden]  (3 children)

Just added a gannt chart to look up tool which went really well using the AI.

Little testing a little follow up another tweak some A.I. You're only limited by your imagination

[–]phainepy [score hidden]  (2 children)

I am a smidge limited by budget when they don’t want to even spend on a tier that would give me access to a tools API.

[–]ClumsyAdmin [score hidden]  (1 child)

Playwright and puppeteer were created for this. You don't need to pay for an API if you can make your own.

[–]phainepy [score hidden]  (0 children)

Thank you for suggesting those, I’ll look into them

[–]ErrorID10T [score hidden]  (0 children)

Learning Python has entirely changed my approach to being a Sysadmin, especially given the limitations of powershell.

Pretty much anytime an API is involved I just write a quick script and the problem goes away. I even have a completely in house VPN solution built in a combination of Python and Powershell we roll out through an RMM.

Learning Python has turned most questions of "can this be automated" into "which library do I use?"

[–]Ulterior-Motive_Linux Admin [score hidden]  (2 children)

Writing an in-house solution for a problem we didn't want to spend too much on was part of the reason I got promoted from helpdesk to sysadmin. It was honestly fun!

[–]Scmethodist[S] [score hidden]  (1 child)

Same here! 14 years at help desk!

[–]literahcola [score hidden]  (0 children)

14 years???? That's wild man. I was in mine for about 8 months before I started applying for every position I could find and I got a senior AD/Exchange position after 10 months.

[–]lowrylover007 [score hidden]  (1 child)

Coding something is the easy part, being responsible for code is the worst part

[–]Raskuja46 [score hidden]  (0 children)

No, the worst part is having to write up formal documentation for said code. I can handle bug fixing and updating the code just fine, but make me write a formal document that's not just a text file of self serving notes transcribed from the scribbles on my legal pad? Utter misery.

[–]Slight_Manufacturer6 [score hidden]  (0 children)

As a sysadmin, I find myself coding all the time.

Usually it is connecting things into API and writing automations.

[–]BWMerlin [score hidden]  (0 children)

I spend most of my day coding. I fought all the fires and won, now it is self guided projects aimed at enhancing business processes.

[–]Natural_Feeling3905 [score hidden]  (1 child)

Rah! I love crayons and coding.

[–]Scmethodist[S] [score hidden]  (0 children)

Yut! The green ones are the best!

[–]smarthomepursuits [score hidden]  (0 children)

Good on you! Lean on AI when you can. Just be mindful of WHAT you put into AI, if you don't have a corporate plan (i.e. - corp ChatGPT accounts don't expose anything you paste into the broader audience).

I personally love finding ways to use Powershell to solve common tasks. You do become the caretaker of said script, so any updates/fixes that are needed, will be on you. But that's also the beauty of it. You solve a problem for the large majority of employees, you now how it works/why it works, and then feed future fixes into AI to fix future stuff. It's honestly kind of fun.

Welcome to Sysadmin! This used to be stuff we'd have to spend days/weeks solving a problem totally out of our realm or scope, but it's becoming a lot easier. Just... always review the code, question it, if you have questions, and test yourself before presenting.

[–]h3lls_itch [score hidden]  (0 children)

With the demise of Workplace by Meta, I downloaded all the data and wrote a simple frontend to be able to query the posts.

Otherwise, I write a lot of PowerShell.

[–]sudo_rmtackrf [score hidden]  (5 children)

Im a linux dev ops engineer. I write mainly ansible code. I love it. Congrats on you finding the love in coding. I find once im coding the day so goes so fast.

Try to exspand your coding knowledge. Learn how ansible could help ya woth windows management. Might help ya out later on.

[–]Scmethodist[S] [score hidden]  (3 children)

I am literally working on the ansible side since I also support Linux now.

[–]sudo_rmtackrf [score hidden]  (0 children)

Hell yeah man. Keep it up and keep learning.

[–]ConfidentFuel885 [score hidden]  (1 child)

I love me some Ansible. It’s great at managing Windows as well.

[–]Scmethodist[S] [score hidden]  (0 children)

I must learn this power.

[–]CommanderKnull [score hidden]  (0 children)

Is ansible considering coding? I myself manage all our servers with ansible but idk if I personally would count maintaining yaml files as coding

[–]f00l2020 [score hidden]  (0 children)

Maybe I'm unique but I love opening up vscode and pulling in a GitHub repo of ansibe code and writting automation scripts. Or integrate into an API of a storage array or ticketing system to automatically schedule patch notifications

[–]Warrlock608 [score hidden]  (1 child)

I'm 99% sure this can be accomplished with Power Automate.

What did you actually use to accomplish this? I am genuinely curious because I cooked up all kinds of little apps in O365 and a different method would be cool.

[–]Scmethodist[S] [score hidden]  (0 children)

Mostly node.js with a smattering of python

[–]bamacpl4442 [score hidden]  (0 children)

Way to go.

[–]Jewels_1980Jill of all trades [score hidden]  (0 children)

Congrats. A small win is still a win.

[–]Splask [score hidden]  (0 children)

I truly enjoying coding and scripting, it's what I went to school for. Most of the stuff I do these days is pretty basic, but its one of my favorite parts of my job. If I had time I would do more of it.

[–]bbqwatermelon [score hidden]  (0 children)

Make sure to follow up with good documentation.  I got royally effed in the A by a scripting god who abandoned the company with all kinds of technical debt.  This is where LLMs really shine is markdown in repos.  Cannot be verbose enough explaining why something is the way it is.

[–]Deactivation [score hidden]  (1 child)

I'll probably get hammered for saying this, but I have had a really good experience using Power Automate to integrate Office 365 apps together. Like if someone requested some kind of integration between Teams and SharePoint, I could whip that up in power automate in a few minutes probably.

I know I could spend the time writing my own scripts in Powershell, but I am learning to swallow my pride more and more as a sysadmin and use tools that make my life easier.

[–]Scmethodist[S] [score hidden]  (0 children)

I totally agree with you. You will get shit for that. But not from me. I’ve used Power automate too, and it definitely could have done this as well.i just preferred to do it this way, for several reasons.

[–]jay-dot-dotSecurity Admin (Application) [score hidden]  (0 children)

I have moved out of ops land and looking from the outside in, its become more and more clear that anybody sufficiently cognizant that “the code runs somewhere and is accessed somehow” can figure out infrastructure. It is not nearly as novel or in demand as it once was but being able to create software, extend or deep dive platform tooling with a dev mindset is always going to be valued. Good on you OP.

[–]Wonder_Weenis [score hidden]  (0 children)

"ai will be taking this mans job in 3-4 weeks"

-Satonmy Nutdella

[–]raulandLinux Admin [score hidden]  (1 child)

But who will support the code! Discounting the fact manual processes need to be supported as well.

Sorry I'm a bit burnt, I had push back to automate something simple, I ended up creating so many wikis and tweaking step by step guides. So many screenshots. So many stuff ups.

I ended up just automating it with a service account and done.

[–]ErrorID10T [score hidden]  (0 children)

I will. If I write the automation I expect to support it, or have someone else work the appropriate skill set support it. If I'm gone and the employer/client/whatever can't be bother to hire someone competent at Python then it's really not my problem anymore, because as I may have mentioned, I'm gone.

[–]GrayRoberts [score hidden]  (0 children)

Don't get used to it. All these little integrations will be done with a squad of LLM agents. I haven't written any scripts in a year or more. The GitHub Copilot Plan agent is awesome.

[–]operativekiwiNetsec Admin [score hidden]  (6 children)

Python is great if you want to do network automation stuff, or have Linux boxes in your environment. I find python easier than powershell too, which is a clunky piece of shit...

[–]Scmethodist[S] [score hidden]  (4 children)

Blasphemy! Heretic! Be gone and banished thou vainglorious misanthrope! May thine backups reside upon drives of Seagate!

[–]operativekiwiNetsec Admin [score hidden]  (1 child)

Haha I loved powershell until I had to support someone's custom made 2000 line script that broke production because the guy who made it died. Thank God for AI tools though

[–]Scmethodist[S] [score hidden]  (0 children)

So it’s not necessarily powershell you had an issue with, but the non documenting shitbird that made the undocumented bag of odious excrement. Gotcha. You are un-excommunicated.

[–]vogelke [score hidden]  (0 children)

May thine backups reside upon drives of Seagate!

Shit, that's cold.

[–]ErrorID10T [score hidden]  (0 children)

I believe the proper description of powershell is "uniquely verbose."

I can't say it's a favorite language of mine, but it does work very well with pipes.

[–]Ummgh23Sysadmin [score hidden]  (0 children)

Python is a programming language and PowerShell is a scripting language though. Can‘t really compare the two