I'm looking to get a little more assertive in pushing OS updates, and was glad to see that the OS install could be scripted using "startosinstall". The problem I'm trying to figure out is why none of our clients are finding/downloading the "Install macOS High Sierra.app" during scheduled "softwareupdate" runs. I set up a configuration profile to ensure that the "Automatically check for updates" (even though I don't want this to happen "automatically") and "Download newly available updates in the background" options are enabled in App Store preferences, and the update is still not found. No SUS or caching server in the equation. Hoping that I'm just missing something simple, but so far everything I've read here is intended to do the exact opposite of what I need. Thanks for the assist.
@ardrake softwareupdate only gets OS point updates for the current OS you are on. You have to actually download the .app for the OS installer from the App Store.
As you said you can use startosinstall to automate an upgrade but you need to get the .app on the machine yourself (use a policy to install the actual .app onto the drive then a script to run startosinstall, etc)