So I’ve been working professionally with Linux-based systems for a few years, and while I’m not the expert I would like to be, I have got a pretty good feeling for the way those systems work. You have the bootloader, the initramfs, the boot procedure, systemd, PID 1, you can check the logs, you have all those little things that make the system work. Everything is a file, you have file permissions and selinux contexts, you have networkmanager, systemd units, you have (system) users, some just for some services, it’s all dandy… if I have a problem with a program I can usually debug it, check its logs, and get it to run.
Now for work I suddenly need to do lots of administration of Windows systems, Win11 and server, and troubleshoot deep, weird issues…
And I’ve started reading up on it, trying to use PowerShell as much as I can, but I’m just not getting the same high level overview feeling of understanding of how the system works, of how the parts work together. Or even what parts there are, and what they do.
(Especially within an Azure context.)
Books on Windows tend to be very surface level, just instructions on what menus to click through to get a working configuration.
But what’s going on underneath the hood? What do I do when I get a weird VPN issue? I mean, there’s Get-EventLog to check for things in the logs, but… nothing feels connected.
Do you know what I mean?
(Also, how cumbersome is PowerShell? No proper paging like with less in bash, I mean, you can’t go back a page, not with windows more or that powershell pager command, and you have to type sooo many words… and yeah, everything is an object, and I see how that can be a nice idea, but man, does that force you to select properties of those objects like crazy. Is this really a good thing, once you have it figured out?)
Are there one-to-one equivalents between Windows and Linux distros that could help me understand? Or is there a really good book that spells it all out, that sets me on a path where I can someday debug ANY issue and understand what I am seeing and doing?
…and I mean, where do I even start out debugging and understanding things like Entra ID issues in Windows365 machines, and hybrid Azure domains… the Microsoft help usually just seems to be steps on how to configure the stuff, but not understanding how it works…
Sorry, this is all over the place, but I’m just lost right now 🤷♂️ maybe someone has felt those same things before and has something wise to tell me?
please let me be the first facetious reply to your post. i’d say you should probably find God and start to pray.
if it serves the community, let’s please put all the jokes under here. it’s gonna be a long night
It’s \ instead of /
Most stuff you can find answers on YouTube.
Windows key + R to run a command easily. (cmd for example is a bit like terminal.)
Eventvwr.msc is like your syslog I think. Most problems will show up there, even if they’re not problems at all. (common place to send scam targets as it looks scary.)
Services.msc to see what’s running in the background. (like systemctl I think, not sure.)
Task manager - Startup tab to turn off rubbish.
Msconfig as an easy way to see services, hiding Microsoft services, or to select safe mode etc.
Rstrui to bring up system restore - works sometimes if a machine is kaput.
Regedit in rare cases - a chonky place where most app and system settings live.
File sharing - need to share the files through the usual file sharing option, but also need to change folder permissions. If only one is changed, it won’t let you. Also ‘control panel’ network and sharing centre, advanced sharing settings, you can turn off password protected sharing for ease, but Microsoft periodically turns it back on.
Hope that helps a bit. Source: residential IT support for 20 years on Windows / Mac. Debian dabbler.
This is what Heath Ledger did to get into his role as the Joker. Proceed with extreme caution
Hahaha I lol’ed… and I’m afraid 😳
Work with Windows professionally for a few years.
If the OS is a space shuttle then a Linux sysadmin is an engineer while a windows sysadmin is a pilot.
For administration, you have Group Policy, Active Directory, SAM, and various other things to read up on. Like others have said you can do everything in PowerShell but commands are super verbose. Microsoft does keep thorough documentation on it at least.
In terms of helping people with issues, you have the Windows Registry (kind of like dconf for GNOME), Backup Restore, Updates (most IT spend most of the time after fixing not working stuff, is convincing people to update their computers). If you can think on your feet, you’ll be able to solve 90% of most workers’ issues with some digging even if you didn’t know Windows more than your average computer guy.
In terms of app development, tweaking and troubleshooting, there are a myriad of frameworks, like MFC, .NET, Electron, Microsoft Access databases somehow turned into a vital business application, etc.
Most app developers learn one of the various systems, then end up sticking with it causing Microsoft to support a hodge podge of 20+ year old native frameworks, while others import whatever newfangled crossplatform wrapper of the day is popular. So good luck if learning this is your goal.
listen to the legends! Some knowledge isn’t documented well and is only passed down from father to son verbally.
I always enjoyed Mark Russinovich’s the case of the unexplained series:
https://learn.microsoft.com/en-us/sysinternals/resources/webcasts
Another commenter here mentioned Russinovich’s books, which I just started reading, and those webcasts are really fun, thanks a lot! I think he is the guy to follow to properly understand this stuff. Let’s see how far I can get :)
You have the bootloader, the initramfs, the boot procedure, systemd, PID 1, you can check the logs, you have all those little things that make the system work
Windows has pretty much the same concepts. These two books talk about all that in deep:
https://www.microsoftpressstore.com/store/windows-internals-part-2-9780135462409
Also check out this one: https://leanpub.com/perfbook
Thank you, I just started working through the first part of Windows Internals! It’s fantastic! I think this is exactly what I was looking for.
As a powershell first guy its really nice and simple to parse an object for the information you need vs using jq/grep/awk. It’s also much faster.
I find myself struggling to get the information I want out of bash sometimes and use LMM tools to assist me. In powershell it’s sort of similar to jq with stepping into an object to get what I need.
As far as the so many words, there’s lots of short hand that’s not really documented. You can also just use a few letters instead of the whole word. What’s a pain is you can’t combine switches. You have to do-thing -a -b -c instead of do-thing -abc
and yeah, everything is an object, and I see how that can be a nice idea, but man, does that force you to select properties of those objects like crazy. Is this really a good thing, once you have it figured out
This is like the only thing I actually like about PowerShell.
I’m the opposite of this. Windows SME but trying to get into linux