A place for me to keep some information about one of my projects, a PowerShell script set that helps automate and track an IT and HR off-boarding process for employees that leave the company. There’s many things that get done, some can be automated and some can’t. But all of them can benefit from some organization 🙂
A high-level diagram of an off-boarding process being handled by the tool…
- HR creates a ticket to request the off-boarding process is begun for a user.
- IT sets up a new project using the launch pad script, a PowerShell GUI form.
- The form downloads task “templates” from a SharePoint Online tasks list, modifying them for the chosen user.
- The form then uploads these new tasks into another SPO tasks list.
- Each of the tasks has a reference to a stand-alone PS1 file that accomplishes what is needed for that task, such as disabling an AD user account.
- Separate from the manual launch pad script, there is a scheduled task on a chosen server that is also ran after the new tasks are created. Also it runs every day. This reads the open tasks list and executes each and every PS1 file that needs to be run.
- The automatic tasks send emails once completed, and the manual tasks trigger a SharePoint Designer workflow to do the same. All these emails go back and update the HR ticket with the results.
I’m going to focus this week to get a copy of the project up on GitHub and put some instructions here on how to get it in place and start using it. Let me know if any questions come up 🙂
My GitHub link for this is: https://github.com/gregbesso/PowerShell-UserManagementAuto