How can I get the list of active and inactive users without using any plugin?
Discussion posts and replies are publicly visible
There's actually an already existing group called "All Users" that does exactly what Stefan said. It uses a rule to gather every user in the system to itself.
I don't know if this still holds true, but in the past users were flagged inactive by being placed in an "Inactive Users" group that you could find, though I can't seem to find it now.
Handy little snippet for finding all of your group IDs:
a!forEach( items: enumerate(300), expression: try( concat(fv!item, " - ", group(fv!item, "groupName")), "That's not a group" ))
You shouldn't try using try() for anything that ever might make it to production, but for your own investigation in /rule that you're going to throw away in minutes, I say knock yourself out.
I think you should be careful when suggesting brute-force "solutions" that also include calls to internal API and unsupported functions.