Automating IT Operations with PowerShell

Throughout Adam's role, he built and maintained a library of PowerShell scripts leveraging Microsoft Graph, Exchange Online, and SharePoint Online to automate repetitive administrative tasks, enforce consistency, and provide centralized tracking and reporting. These scripts span the full employee lifecycle from onboarding through offboarding, ongoing tenant maintenance, and application-specific fixes during major infrastructure changes.

Centralized User Onboarding

Built an interactive PowerShell tool using Microsoft Graph to standardize and centralize new employee onboarding. The script presents a menu-driven workflow that creates the user account in Entra ID, sets profile attributes (job title, department, office, employee type, hire date), assigns a manager, and checks tenant license availability before assigning licenses such as Microsoft 365 E3 or Business Premium — preventing failed assignments from oversubscribed SKUs. The tool also supports running each step independently (create user only, update profile only, assign manager only, assign licenses only), giving IT flexibility for partial onboarding or corrections without re-running the entire process.

Centralized Offboarding & Tracking

Designed an offboarding script to solve a real gap — the company had no centralized record of departed employees. The script uses Microsoft Graph to disable the user's account and revoke active sign-in sessions, automatically resolves and delegates the user's mailbox to their manager with full access via Exchange Online, converts the mailbox to a shared mailbox to preserve historical email without consuming a license, and logs the entire offboarding event — including employee name, title, manager, hire date, and offboard date — to a SharePoint list via PnP PowerShell. This created a single source of truth for every departed employee going forward.

Weekly Tenant Health Reporting

Created a reporting script that queries Microsoft Graph and Exchange Online to identify users who haven't signed in within a configurable threshold (30 days), filters results to relevant company accounts, and exports the findings to CSV. This script runs automatically every Friday via a Power Automate trigger, giving IT a recurring reminder to follow up with managers on inactive accounts and decide whether they should be removed — keeping the tenant clean and reducing unnecessary license spend for offboarded accounts with licenses retained. A companion script scans for non-compliant iOS and Windows devices and compiles the results into a CSV that's emailed directly to IT for follow-up.

ERP Connection Fix at Scale

When the on-premises ERP system was migrated to the cloud, the SQL server every workstation connected to changed entirely — a problem that would have taken an unnecessary amount of time to fix manually, one user at a time. Adam wrote a script that locates the correct registry path for the currently logged-in user, identifies the existing connection profile, and updates the registry values to point to the new cloud-hosted SQL server. The script was deployed at scale through the company's RMM tool to ensure it reliably reached every affected device, allowing users to continue working with zero interruption or manual reconfiguration after the migration.

Outcomes & Technologies

These scripts replaced manual, error-prone processes with consistent, repeatable automation across the employee lifecycle and tenant maintenance. Onboarding and offboarding became centralized and fully logged for the first time, giving the company an accurate record of every account created and decommissioned. Weekly automated reporting keeps the Microsoft 365 tenant clean and reduces unnecessary licensing costs. The ERP connection fix prevented what could have been days of manual, one-by-one troubleshooting during a critical cloud migration, ensuring zero disruption for end users.

Technologies Used: PowerShell • Microsoft Graph PowerShell SDK • Exchange Online Management • PnP PowerShell • SharePoint Online • Power Automate • ImportExcel Module • Windows Registry • ScreenConnect

Phone

(516) 551-2522

Area of living

East Meadow, NY 11554
United States of America