I have a procedure scheduled through Policy Management. I want the procedure to run every day, so it is currently scheduled to run every day, starting 1 March 2017. I also want it to run as soon as possible after the agent's first check-in, so it is scheduled to run on 28 February 2017.
Is that second schedule doing me any good? Seems redundant.
I would create two policies. One for the recurring schedule, and another for an onboarding policy. The onboarding would contain all of your run-once scripts.
We have an alert associated with the New Agent Installed alert. We use Service Desk to fire off a Agent Init procedure - this runs several sub-procedures, which also cause several policies to apply after running a discovery audit. Several policies apply scheduled tasks that run daily, but the init procedure also runs most of them the first time, virtually with no delay. You could certainly tie the init procedure directly to the New Agent Installed monitor if you don't have Service Desk.
Keeping the daily schedule and the Init process separate is a good idea and it's worked well for us.