That's not going to work. This is going against SharePoint Online. And these days, it'd be preferred to use Get-CIMInstance instead of Get-WMIObject, no? Regardless, for the same thing I use Get-WMIObject myself - creature of habit.
I ended up getting this working but I need a scriptable way to ensure it doesn't happen again. The people who use the script in the end are not PowerShell savvy, so to tell them they need to do this or that in order to run it probably won't work. (They are management).
What I did was import PnP.PowerShell. I connected to the site with -Interactive for the authentication. I still had the same problem. I connected to the site with -UseWebLogin and Get-ChildItem returned the expected results. Results were returned by any site I have access to. This continued to work after rebooting and not loading anything.
The worst part is, I cannot replicate the problem. It will work for probably about a week and then I'll face this again.
Is there a way to avoid this issue without people having to Install-Module PnP.PowerShell; Import-Module PnP.PowerShell; Connect-PnPOnline [server][site] -UseWebLogin?
Granted, that can be done automatically. Would Connect-SPOService from module Microsoft.Online.SharePoint.PowerShell be any more efficient? Honestly, I have the module but have never used it. I always use PnP.PowerShell for what I need to do.