this post was submitted on 20 Apr 2025
96 points (98.0% liked)

Ask Lemmy

31114 readers
2533 users here now

A Fediverse community for open-ended, thought provoking questions


Rules: (interactive)


1) Be nice and; have funDoxxing, trolling, sealioning, racism, and toxicity are not welcomed in AskLemmy. Remember what your mother said: if you can't say something nice, don't say anything at all. In addition, the site-wide Lemmy.world terms of service also apply here. Please familiarize yourself with them


2) All posts must end with a '?'This is sort of like Jeopardy. Please phrase all post titles in the form of a proper question ending with ?


3) No spamPlease do not flood the community with nonsense. Actual suspected spammers will be banned on site. No astroturfing.


4) NSFW is okay, within reasonJust remember to tag posts with either a content warning or a [NSFW] tag. Overtly sexual posts are not allowed, please direct them to either !asklemmyafterdark@lemmy.world or !asklemmynsfw@lemmynsfw.com. NSFW comments should be restricted to posts tagged [NSFW].


5) This is not a support community.
It is not a place for 'how do I?', type questions. If you have any questions regarding the site itself or would like to report a community, please direct them to Lemmy.world Support or email info@lemmy.world. For other questions check our partnered communities list, or use the search function.


6) No US Politics.
Please don't post about current US Politics. If you need to do this, try !politicaldiscussion@lemmy.world or !askusa@discuss.online


Reminder: The terms of service apply here too.

Partnered Communities:

Tech Support

No Stupid Questions

You Should Know

Reddit

Jokes

Ask Ouija


Logo design credit goes to: tubbadu


founded 2 years ago
MODERATORS
 

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?

top 31 comments
sorted by: hot top controversial new old

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

[–] ashenone@lemmy.ml 10 points 1 day ago (1 children)

This is what Heath Ledger did to get into his role as the Joker. Proceed with extreme caution

[–] sir_pronoun@lemmy.world 1 points 1 day ago

Hahaha I lol'ed.. and I'm afraid 😳

[–] exchange12rocks@lemm.ee 6 points 1 day ago* (last edited 1 day ago)

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-1-system-architecture-processes-9780735684188

https://www.microsoftpressstore.com/store/windows-internals-part-2-9780135462409

Also check out this one: https://leanpub.com/perfbook

[–] Rentlar@lemmy.ca 11 points 2 days ago* (last edited 2 days ago) (1 children)

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.

[–] zipzoopaboop@lemmynsfw.com 6 points 1 day ago (1 children)

It's been a hot minute since hearing anyone talk about access

[–] wirelesswire@lemmy.zip 3 points 1 day ago

I work in Windows support. Seeing Access made me shudder.

There's one team in my company that used an Access database on a network share, and every day, someone would forget to close the application or restart their pc, so their manager would call in to have us manually close connections from the server side so she could access the database. My team brought it up with our management to see about getting them migrated to a SQL database or similar, but someone above us shut that down. My team no longer handles end-user support, so not sure if it was ever resolved, but it was a PITA for everyone involved.

[–] Zwuzelmaus@feddit.org 13 points 2 days ago

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 [...] 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.

I find it very safe to say: forget it. You can never acquire such a completeness of understanding with a windows. It is too much, the parts are too different, and too obfuscated.

Look at it from the other side:
The fact that this level of knowlege is possible in Linux (which is decades old, too) is a result of the openness in "open source" and of the "keep it simple" principle there.

Windows is build deliberately in such a way that several different "windows" professionals are needed to keep all the threads together, and they all need to have paid for their "windows" education with their "windows" certificates etc. But none of them can go to such a depth in every part of it.

And if somebody objects here, and says, hey, even idiots can get these certificates, then I say, ok, what did you think for whom it is made.

[–] LumpyPancakes@lemm.ee 22 points 2 days ago (1 children)

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.

[–] towerful@programming.dev 9 points 2 days ago* (last edited 2 days ago) (1 children)

\ instead of / is really annoying.
I recently had to do a template variable replace is batch, resulting in a JSON config file for another program.
A bunch of paths and stuff. And the variables I was substituting in were also used in batch cmds.
It was a pain figuring out when and where to escape or not-escape backslashes.

[–] Trainguyrom@reddthat.com 5 points 1 day ago

The worst part is it's inconsistent! Sometimes it likes / sometimes it needs to be \ and every once in a while it needs to be /

[–] Landless2029@lemmy.world 5 points 1 day ago

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

[–] superkret@feddit.org 16 points 2 days ago* (last edited 2 days ago) (2 children)

Powershell supposedly is really great once you've understood how it's structured.
I keep hearing it's more logical and discoverable than Bash.
Maybe that's true, I keep bouncing off it and getting frustrated. And when I try to read up on it, the explanations throw low level programming terms at me, which I'm too stupid to understand.

But modern Windows has one thing going for it, which makes it similar to Linux in concept:
Literally everything can be done with Powershell, and literally every config can be manipulated manually when you know where to look.

Configs are a bit strewn around the system, though. They can be in your user folder in AppData, or globally in C:\ProgramData or only in the Registry.
And some software says "Fuck all this" and puts them in C:\Program Files, C:\Program Files (x86) or even in an own directory on C:\
But that's no different on Linux, really.

Then you can look at group policies, which are like an extended settings menu for thousands of things that aren't in the GUI.
And since you can write your own group policies that set arbitrary Registry values, you can make Windows your bitch.

The main issue really is documentation. It either doesn't exist, or it's wrong, or only available to Microsoft employees.
So even if you have 10 years of experience in administering Windows systems, you're still hunting through forums for answers.

The most important resource an experienced Windows admin can have is a list of bookmarks to trustworthy sysadmin blogs.

So, to recap: Windows is the Registry. If it reads a config file from somewhere, the path to that config file will be in the Registry. If you change a setting in the GUI, via Powershell, or a group policy, the setting will be saved in a Registry key. Unfortunately, many Registry keys are not legible by humans. And Regedit as a tool absolutely sucks.

[–] nesc@lemmy.cafe 4 points 1 day ago

PS is really powerful, actually using it is one of the worst experiences ever, it's just horrible in every way possible. After writing a few bigger scripts in ps I've literally swore to never touch it again except for interactive stuff and one-liners.

[–] ripcord@lemmy.world 5 points 2 days ago

Powershell very nice? No, in my opinion. Very powerful? Yes.

So many parts of it are so fucking weird.

[–] tauren@lemm.ee 12 points 2 days ago

Work with Windows professionally for a few years.

[–] Tja@programming.dev 13 points 2 days ago (1 children)

I think it's the same as with Linux, solving problems slowly gives you familiarity with the system and you start knowing where to look for things. Generally speaking, Windows is way more centralized than Linux.

Half of the things you listed for Linux are optional (selinux, networkmanager, systemd,...) and different distros (or different programs) use different solutions. I still remember moving from sysV init to systemd or from /var/log to journal, to give a few examples. To this day I can't stand storing coredumps in the journal, although I understand the rationale behind it. You get the idea.

Same as with Linux, I started Windows admin with NT 4.0 so over time you learn things (and re-learn as needed) as you solve problems. There are sysadmin trainings that go a bit deeper. I like Mark Russinovich and his tools and books, you can look into them but it's subjective.

[–] WhyJiffie@sh.itjust.works 4 points 1 day ago* (last edited 1 day ago) (1 children)

I have used all windows versions since xp, and I have used windows systems for 15-20 years, starting from when I was a little kid that couldn't even read. I am relatively very familiar with the system.

I've been using linuxes mostly just for the past 7 years, only 3 of which was on graphical environments, and I think understand linux a lot more. here it's not the location of the menu that I remember (sure, there's often not a menu for it) but what do I want to achieve, and which component deals with that. all the while windows is still just a thing to me that I know on the surface, but under that it is all held together by black magic.

someone said that a major reason it's very hard to understand windows like you do with linux is that it's intentionally obfuscated. there's also strange decisions and very strange components, and strange things we just got used to, like why does a troubleshooter or the windows update search take ages to complete while not using the cpu, the disk and not even the network.

[–] Tja@programming.dev 3 points 1 day ago

I can't say if it's intentional or not, but there's a lot of "don't ask" in many guides (and even in first level responses here, just telling with button to press but not what happens under the hood).

There's a bunch of windows internals books from Mark either as main author or co-author, here's a good place to start: https://learn.microsoft.com/en-us/sysinternals/resources/

[–] Brkdncr@lemmy.world 8 points 2 days ago

If the OS is a space shuttle then a Linux sysadmin is an engineer while a windows sysadmin is a pilot.

[–] prof@infosec.pub 9 points 2 days ago* (last edited 2 days ago)

That's a tough question and I don't really have am answer.

But if it's work related I'd look into finding a Windows SysAdmin course somewhere and ask my employer to pay for it, since it helps with your work.

A cheaper alternative would be online courses. I found Udemy quite helpful in that regard.

Another possibility is Microsoft Learn, which offers basic to professional "Learning paths" you can do on your own time. There's also a SysAdmin certification available if I recall correctly.

Edit, since I just reread your post: Microsoft Learn is almost completely about Azure. So you should really take a look at it.

[–] vrighter@discuss.tchncs.de 7 points 2 days ago (1 children)

listen to the legends! Some knowledge isn't documented well and is only passed down from father to son verbally.

[–] Trainguyrom@reddthat.com 3 points 1 day ago

Unfortunately this seems to be exactly the case for learning all of the weird quirks is that you just have to experience them as they happen. Fortunately most windows admin career paths include a period in an MSP where you'll see lots of cursed configs exposing lots of edgecases, but basically keep your eyes and ears open and try to learn on your feet

[–] xylogx@lemmy.world 5 points 2 days ago

I always enjoyed Mark Russinovich’s the case of the unexplained series:

https://learn.microsoft.com/en-us/sysinternals/resources/webcasts

[–] nesc@lemmy.cafe 7 points 2 days ago

I get you on everything being either disconnected or surface level, unfortunately it just comes with experience mostly (same way as on linux). There are some deeper courses and books into specific windows services like exchange and AD that willgive you deeper understanding of everything.

[–] Mearuu@kbin.melroy.org 6 points 2 days ago

https://learn.microsoft.com/en-us/credentials/browse/

This might help you but I doubt you’ll ever achieve the understanding you seek from windows. Windows is closed source and the inner workings will be guarded by microsoft. Microsoft seems to be all in on security through obscurity.

So short of getting a job a microsoft and gaining access to the source code I doubt there is anywhere that truly will satisfy this curiosity, unfortunately.

[–] masterspace@lemmy.ca 4 points 2 days ago

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.

[–] Toes@ani.social 2 points 2 days ago

I'm kinda on the opposite side of the fence. Windows/Dos stuff is pretty easy for me to grasp and understand but I've been working away at Linux for decades.

I found this training supplement to be quite helpful.

https://www.cbtnuggets.com/it-training/microsoft-windows-server

Also a useful resource.

https://learn.microsoft.com/en-us/dotnet/desktop/wpf/overview/?view=netdesktop-9.0

[–] Landless2029@lemmy.world 1 points 1 day ago

I'm the opposite of this. Windows SME but trying to get into linux

[–] stoy@lemmy.zip 2 points 2 days ago

I am an IT technician, mainly focused on Windows, but I have also several years as a Linux sysadmin on my CV.

Now, you need to remember that Linux and Wondows have vastly different stratergies for how they work.

Linux, as you say, will allow you to view and service every part of it, as long as you know how, Windows on the other hand is more like a black box, you need to use special tools to get through the cover and access the information you may need.

Powershell is your friend, I have only written batchfiles, bash scripts and Powershell scripts for managing systems, and out of these I find Poweshell the easiest.

365... Microsoft loves to hide settings in the web UI, there are plenty of settings you can only set through Powershell.

VSCode is the best editor for Powershell as far as I am concerned, I highly recommend that you use it.

[–] anonApril2025@lemmy.zip 1 points 1 day ago

YouTube and certification books. Obviously