
In Progress
Posted
Paid on delivery
I need a hardened PowerShell script that an IT service-desk analyst can run to remove all applicable group memberships from a specified Microsoft Entra ID (Azure AD) user as part of the employee leaver/offboarding process. The current proof-of-concept works, but it needs additional robustness, security controls, error handling and operational documentation to make it suitable for regular service-desk use. What needs to be built * A single .ps1 PowerShell script that connects to Microsoft Entra ID using the Microsoft Graph PowerShell SDK. * Validate that the target user account exists before making any changes. * Enumerate the user’s current group memberships. * Safely remove the applicable group memberships. * Include appropriate safeguards to prevent accidental processing of the wrong account. * Exit with clear success or failure codes. * Provide clear messages to the service-desk analyst throughout the process. Documentation Please provide: * A quick-start/support guide explaining prerequisites, installation, parameters and how to run the script. * Inline PowerShell help within the script. * Instructions explaining the rollback/recovery process where applicable. * A README explaining assumptions, known limitations and recommendations for future security hardening. Security and operational requirements * The script must verify that the operator has the appropriate Microsoft Entra permissions before any changes are made. * Insufficient permissions must be detected early and the script must stop safely without partially processing the account. * Authentication must not require hard-coded or plain-text passwords, secrets or credentials. * Use the Microsoft Graph PowerShell SDK where appropriate. * Include proper parameter validation. * Use structured try/catch error handling. * Include appropriate confirmation/safety checks before destructive operations. Audit logging Every significant action should be recorded, including: * Script start and completion * Authentication/connection status * Target user validation * Groups identified * Each group removal attempt * Successful removals * Failed removals * Exceptions and errors Logs should be produced in an easily consumable format such as CSV or JSON and should be suitable for integration with SIEM/searching workflows. Acceptance criteria 1. Running: .\[login to view URL] -UserPrincipalName should complete without unhandled errors when the operator has the required permissions and the target account is valid. 2. The audit log must record the start time, target account, group membership actions and final completion status. 3. Running the script without the required permissions must produce a clear and actionable error and must not partially process the account. 4. Network/API failures must be handled gracefully and reported clearly. 5. The script must not contain hard-coded passwords, secrets or credentials. 6. Documentation must be clear enough for a new service-desk analyst to follow without additional coaching. Deliverables * [login to view URL] * [login to view URL] or .md * [login to view URL] The finished solution should be production-focused, maintainable and written according to good PowerShell and Microsoft Entra security practices. Important: Please explain any assumptions you make and highlight any Microsoft Entra/Graph API limitations that affect the solution.
Project ID: 40690887
93 proposals
Remote project
Active 1 min ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

Hi, The key challenge here is building fail-safes that prevent partial execution—if permissions drop mid-script or the user object changes, you need the script to stop cleanly and log exactly what happened. That's where most offboarding automation breaks down in production. I've built several Azure automation scripts for identity workflows, including user provisioning, license management, and group sync tasks. Most of that work involved Graph SDK integration, permission validation before destructive operations, structured error handling, and audit logging that actually works with SIEM tools. My approach would be: validate permissions and target user upfront with early exits, wrap each group removal in try-catch with granular logging, use Graph SDK's built-in error responses to distinguish permission failures from transient API issues, and output logs as JSON for easy parsing. I'd include inline help, a runbook for the service desk, and clear documentation on Graph API limitations around group membership changes. One thing to clarify: are there specific group types (security, Microsoft 365, dynamic) that should be excluded from removal, or should the script handle all memberships? That'll affect the filtering logic. Thanks, Lazar.
£20 GBP in 1 day
3.6
3.6
93 freelancers are bidding on average £144 GBP for this job

Hello, I am Dr. Rajesh Rolen, PhD in Computer Science & Engineering, with experience of over 20+ years in API Integration, JSON As a preferred freelancer in the top 1%, I have done 400+ projects here on freelancer.com, I have 4.9 ratings out of 5 on average, which showcases my quality of work and timely delivery. Key Highlights: - Free Hosting Support on the Cloud or any desired platform. - Free 3 months of post-delivery support to ensure that our client doesn’t face any challenges after the launch of the project. - Free Dedicated tester on projects to ensure quality delivery, so clients don’t need to act as a tester. - 10+ Years experience UI/UX team to ensure intuitive UI. Portfolio: https://www.freelancer.com/u/Microlent Please open the chat and send me a message, so we can have a more detailed discussion about the project to give you the project timeline and cost. Thank you for considering my services. I look forward to engaging in a productive conversation and understanding how I can be of assistance in bringing your project to life. Regards Rajesh Rolen
£135 GBP in 10 days
7.0
7.0

Hi there! Building a robust, production-ready PowerShell automation script using the Microsoft Graph PowerShell SDK to securely handle Microsoft Entra ID (Azure AD) user offboarding, group membership enumeration, selective cleanup, permission validation, and structured JSON/CSV audit logging is right in my wheelhouse. I regularly build advanced enterprise IT Automation scripts, secure Scripting workflows, and Azure cloud integrations, so feel free to check my profile portfolio. Before we get started, do you have any specific groups (such as synced on-premises groups or role-assignable groups) that must always be excluded from the cleanup process? Once you share the details, I can map out everything cleanly and deliver the hardened .ps1 script, support desk guide, and configuration README step-by-step. Looking forward to working together! Best regards, Ahmad Hassan
£60 GBP in 1 day
6.2
6.2

The script needs to be dependable in the exact moments when offboarding mistakes are costly, so the focus should be on safe validation, clear operator prompts, permission verification up front, and clean recovery guidance if Graph or network calls fail. I can build this as a hardened .ps1 using the Microsoft Graph PowerShell SDK, with structured logging and clear exit behavior for both success and failure cases. A lot of these automations break down not because the logic is hard, but because edge cases were never handled for real support-desk use. I’ve worked on admin and workflow scripting where robust parameter validation, readable console output, and usable documentation mattered just as much as the code itself. I’d also document assumptions and Graph limitations clearly so the handover is realistic rather than vague. - Do you already have a preferred logging path/retention location for SIEM pickup? - Should the script prompt for final confirmation after showing the resolved target user and detected groups? - Is your current proof-of-concept something you want improved directly, or should this be rebuilt cleanly from scratch?
£220 GBP in 7 days
6.0
6.0

The script needs to be dependable in the exact moments when offboarding mistakes are costly, so the focus should be on safe validation, clear operator prompts, permission verification up front, and clean recovery guidance if Graph or network calls fail. I can build this as a hardened .ps1 using the Microsoft Graph PowerShell SDK, with structured logging and clear exit behavior for both success and failure cases. A lot of these automations break down not because the logic is hard, but because edge cases were never handled for real support-desk use. I’ve worked on admin and workflow scripting where robust parameter validation, readable console output, and usable documentation mattered just as much as the code itself. I’d also document assumptions and Graph limitations clearly so the handover is realistic rather than vague. - Do you already have a preferred logging path/retention location for SIEM pickup? - Should the script prompt for final confirmation after showing the resolved target user and detected groups? - Is your current proof-of-concept something you want improved directly, or should this be rebuilt cleanly from scratch?
£230 GBP in 7 days
5.1
5.1

Hello, As a result of a detailed review of your project requirements, I fully understand that you need to turn an existing PowerShell proof-of-concept into a production-ready Microsoft Entra ID offboarding script suitable for regular service-desk use. I have experience with PowerShell, Microsoft Graph, Azure/Entra ID, API integration, JSON/CSV logging, security controls, troubleshooting, and automation, and I'm available to start your project right now. In my opinion, the key challenge is ensuring the script never partially processes an account when permissions, connectivity, or group-removal conditions are not valid. I would add strict parameter validation, target-user confirmation, Graph connection/permission pre-checks, structured try/catch handling, clear exit codes, operator prompts, and detailed CSV/JSON audit logging. Group enumeration/removal would distinguish direct memberships from memberships that cannot be removed directly, such as dynamic or externally governed groups. I will also provide inline PowerShell help, a support-desk guide, rollback/recovery guidance, and a README documenting assumptions, Graph limitations, and future hardening recommendations. I have two quick questions: • Should privileged/role-assignable groups always be excluded from automated removal? • Do you want a -WhatIf / dry-run mode before destructive execution? I would be glad to discuss further details and am ready to start immediately. Best regards, Carlos.
£30 GBP in 7 days
5.4
5.4

Hi there, I have strong hands on experience in PowerShell Scripting. I would like to assist you. Please let me know a good time to discuss. Thanks
£135 GBP in 2 days
5.3
5.3

I've built hardened offboarding automation against Microsoft Entra and Graph SDK before, so this is straightforward. I'll structure the script with early permission validation using Get-MgContext and role checks, enumerate memberships via Get-MgUserMemberOf, then remove via Remove-MgGroupMember with granular try/catch per removal to prevent partial failures. Authentication stays interactive—no secrets in code. I'll wire structured JSON logging (start, auth status, user validation, each group attempt, final exit codes) suitable for SIEM ingestion, include inline help via comment-based documentation, add confirmation prompts before destructive ops, and provide a Support-Desk-Guide explaining prerequisites, Graph permissions scopes needed, rollback via audit log cross-reference, plus a README covering Graph API throttling limits, transitive group membership constraints, and soft-delete recovery windows. The script exits clean on permission denial before touching the account. I can start immediately. Thanks, Andrii.
£135 GBP in 3 days
5.0
5.0

Hi there, I understand that you need a production-ready PowerShell offboarding script using the Microsoft Graph PowerShell SDK to safely validate an Entra ID user, verify operator permissions before changes, enumerate and remove applicable group memberships, prevent wrong-account processing, return clear exit codes, and create SIEM-ready audit logs. I’m confident I can harden the proof-of-concept into a maintainable service-desk tool with secure authentication, robust error handling, and clear operational documentation. My approach is to first implement parameter validation, Graph SDK authentication, required-permission checks, target-user validation, and pre-change safeguards. Next, I’ll use Microsoft Graph cmdlets to enumerate memberships and safely process removable groups while handling API/network failures through structured try/catch logic. Then, I’ll implement confirmation controls, clear analyst messages, success/failure exit codes, and structured CSV/JSON audit logging for every significant action. Finally, I’ll test valid/invalid users, insufficient permissions, failed removals, API errors, and rollback/recovery scenarios, then document prerequisites, execution, limitations, and future hardening. Should the script support interactive confirmation by default, with an explicit parameter available for approved automated execution? I’m ready to start immediately. Warm Regards, Aneesa.
£100 GBP in 1 day
5.2
5.2

Hi, I'm Denis, a full-stack developer with experience building automation scripts and API integrations, including work with Microsoft Graph and Azure-based systems for identity and access management. I understand your need: you have a working proof-of-concept for offboarding users from Entra ID groups, but it needs hardening for regular service-desk use. This means adding permission validation, structured error handling, comprehensive audit logging, and clear documentation. I've worked on similar automation where permission checks must happen before destructive operations and audit trails are critical for compliance. My approach: - Review your existing script and requirements - Build a hardened version with parameter validation and permission checks using the Microsoft Graph SDK - Implement structured try-catch blocks around each group removal - Add JSON logging suitable for SIEM integration - Include inline help, support guide, and README documenting assumptions and limitations - Ensure meaningful exit codes and clear console output Key technical details: The script will verify the operator has the right Entra ID roles before attempting modifications, detecting insufficient permissions immediately and failing cleanly. I'll build in retry logic with exponential backoff for transient Graph API failures, while failing clearly if the API is unavailable. The result is a script that fails safely and clearly rather than partially processing accounts. I can start right away.
£66 GBP in 3 days
4.6
4.6

Hello, Truong here. "HARDENED ENTRA ID GROUP CLEANUP" — you need a service-desk-safe PowerShell workflow that can remove memberships without risking the wrong account or a partial offboarding run. I’d build the script around Microsoft Graph PowerShell with an explicit pre-flight phase: validate the UPN, confirm required Graph permissions before any destructive call, enumerate applicable memberships, then perform removals with structured error handling and clear exit codes. Audit logging would capture each removal attempt and result in a SIEM-friendly format, while -WhatIf/confirmation safeguards can prevent accidental execution. The important edge case is partial failure: the script should distinguish successful removals, failed removals, and API/network errors rather than reporting a misleading overall success. I’d also document Graph limitations and recovery options so another analyst can operate it safely. Which group types should be excluded from removal, such as dynamic groups, role-assignable groups, or groups where the user is the owner? Looking forward to working with you.
£35 GBP in 1 day
4.7
4.7

Hi, I’m Sahanaj. I can turn your POC into a production-safe offboarding tool rather than just adding error handling. I’ll build the PowerShell script around Microsoft Graph SDK with pre-flight permission validation before any destructive action, explicit user confirmation, parameter validation, structured try/catch handling, safe API failure handling and CSV/JSON audit logging suitable for SIEM ingestion. I’ll also document Graph/Entra limitations and clearly define which memberships are safely removable versus those requiring special handling. Timeline: 2–3 business days | Fixed: £250. Deliverables include the .ps1, inline help, support guide and assumptions/limitations README.
£250 GBP in 3 days
4.8
4.8

Good Day! I have carefully analyzed your project and can develop a production-ready PowerShell/Graph SDK solution with early permission validation, strict parameter/safety checks, confirmation gates, structured error handling, clear exit codes, and SIEM-friendly JSON/CSV audit logging. I’ll also provide comprehensive inline help, rollback/recovery guidance, assumptions, limitations, and service-desk documentation focused on secure Entra offboarding. I am eager to contribute my expertise and deliver top-notch results for your project. Let's discuss the project further in chat or let's have a quick call! Best regards, M Adeel.
£100 GBP in 3 days
3.9
3.9

You need a service-desk-safe offboarding script that prevents wrong-user changes, detects permission problems early, and leaves a complete audit trail. At Marin Software, I built production automation with API validation, retries, structured logging, and controlled failure handling. I’ll harden the script with validated parameters, Microsoft Graph delegated authentication, SupportsShouldProcess, -WhatIf, explicit target confirmation, and a preflight stage that completes before removal begins. It will resolve the exact UPN, display immutable identifiers and account details, enumerate memberships, classify removable versus protected groups, verify required scopes, and stop on failed prechecks. Each action will produce SIEM-friendly JSON or CSV records with timestamps, operator, target, group IDs, outcomes, and exceptions. Transient Graph failures will use bounded retries; other failures will return documented exit codes. A recovery manifest will record prior memberships for best-effort restoration. Dynamic, synced, role-assignable, and privileged groups will be documented because Graph cannot treat every membership identically. Should removals fail-fast or continue while logging individual failures?
£100 GBP in 4 days
4.0
4.0

⚠️ IF YOU'RE NOT HAPPY YOU DON'T PAY ⚠️ Hello! I've been recommended by a Freelancer Recruiter. Nice to meet you. Your main requirement is a hardened PowerShell script that safely removes an employee’s Azure AD group memberships. I’ll build a single .ps1 that authenticates via the Microsoft Graph PowerShell SDK, validates the UPN, checks the caller’s role, enumerates all *memberOf* objects, and removes each group within a try/catch loop. The script will emit structured CSV/JSON audit rows, return exit codes, and prompt for confirmation before any deletion. I’ll add inline help, a quick‑start PDF, and a rollback section. The main technical risk is partial removal if permission checks fail mid‑run. I’ll first validate the operator’s Azure AD role in a dry‑run block before iterating groups. Looking forward to refining this with you!
£250 GBP in 7 days
4.0
4.0

As an experienced Web and App Developer, I know firsthand the criticality of streamlined, efficient code to safeguard digital platforms. Harnessing my expert grasp on Microsoft Graph PowerShell SDK, I will craft a robust .ps1 script that ensures targeted group removals for your employee leaver process remain seamless and secure. I'm well-versed in validating user accounts, enforcing safety measures to protect against inadvertent actions, and providing comprehensive documentation to ensure smooth service-desk usage. With every project, from development to deployment, I emphasize over delivering optimal performance, tailored solutions. This is underpinned by my wide-ranging skill set which includes API Integration - a crucial piece for authenticated operations in your bespoke script. My procedural validations and structured try/catch error handling augment my drive for functional precision.
£20 GBP in 1 day
4.1
4.1

I can harden the proof-of-concept into one production-focused PowerShell script using Microsoft Graph SDK authentication with no stored secrets. The script will validate the operator and target user, support a dry-run/confirmation step, handle dynamic, synced and non-removable groups safely, stop cleanly on permission or API failures, and write structured JSON/CSV audit logs with reliable exit codes. I’ll include inline help, a service-desk guide and a clear rollback/limitations README. Should privileged and on-premises synced groups always be excluded?
£180 GBP in 5 days
4.1
4.1

Hi there, I can help you with building the hardened PowerShell script for the Microsoft Entra ID group cleanup. I've done similar offboarding automation work and I'm comfortable with the Microsoft Graph PowerShell SDK, error handling patterns, and logging to CSV or JSON. I'd focus on making the permission checks happen before any enumeration or removal, and I'd use the SDK's built-in authentication rather than any stored secrets. The audit log would capture every step cleanly. I'm Edward, been scripting in PowerShell for years and I'll make sure the documentation is clear enough for a new analyst to follow without hand-holding. Happy to chat about the scope if you want. One thing I'd note: the Graph API only returns group memberships the signed-in app has permission to read, so I'll build in a check to flag any gaps there. Let me know if you want to discuss.
£20 GBP in 7 days
3.5
3.5

Hello Dear! Good Day! Hope you are doing fine. This is Ruhul Ajom Sagor. I am an expert "Web Developer" with 10+ years of working experience in PHP, HTML5, CSS3, JavaScript, jQuery, Bootstrap, MySql and different Frameworks. I have completed my B.S.C Engineering in Computer Science and Engineering (CSE) from BUET. Hire me and you don't have to worry about your website problems again! I'll add value to your projects by creating astonishing designs and code with high impact and optimized user interaction that leads to bigger conversions. WHAT PROBLEMS CAN I HELP YOU SOLVE? • Custom Websites Using PHP and Frameworks • e-Commerce Websites (Woo-Commerce and Shopify) • Custom WordPress themes • On-Page and Off-Page SEO • WordPress themes Customization • Database Modeling/Development • WordPress migrations and upgrades • Responsive Coding (Make your website compatible with: smartphones, tablets, desktops) • Websites speed and loading time improvements • Cross-browser compatibility • PSD to HTML to WordPress conversion • HTML5/CSS3/jQuery websites based on Bootstrap I love challenges, talking to my clients, and meeting others’ standards as well as expectations. I will be discussing everything in detail, giving my full advice and delivering through best of my skills. You are cordially welcome to discuss your project. Thank You! Best Regards, Ruhul Ajom
£135 GBP in 3 days
3.7
3.7

Hi, there! I understand the priority is turning your current proof of concept into a production-safe offboarding script that service-desk staff can run confidently without risking partial processing or accidental group removal. I’ve worked on similar Microsoft 365 and Entra ID automation using PowerShell and Microsoft Graph, including permission validation, group membership handling, structured logging, safe confirmations, exception handling, and operational documentation. I can harden the script, add rollback guidance, and keep the workflow clear for non-specialist analysts. Best regards, George
£135 GBP in 7 days
3.4
3.4

Hello, safely cleaning up Entra ID group memberships is really about preventing offboarding mistakes while keeping the process auditable. I work regularly with Scripting, API Integration, and Documentation, which fits closely with what you’re trying to accomplish. I’d start by reviewing your current PowerShell proof-of-concept and Graph permissions setup, then handle validation of the target user and controlled group removal in a structured way, testing error handling, confirmation prompts, and log output as I go rather than leaving validation until the end. The goal would be to deliver a hardened script and support docs that are production-focused and easy for service-desk use. I can begin this week and should have this completed within 7 days. One thing I’d like to confirm before starting: should nested group memberships and role-assignable groups be excluded from removal? Best regards, Miguel
£100 GBP in 7 days
2.9
2.9

Solihull, United Kingdom
Payment method verified
Member since Sep 4, 2026
$250-750 AUD
$250-750 CAD
$750-1500 AUD
₹400-750 INR / hour
$8-15 USD / hour
₹400-750 INR / hour
₹1500-12500 INR
₹12500-37500 INR
₹600-1500 INR
$30-250 USD
₹1500-12500 INR
₹1500-12500 INR
$3000-20000 CAD
₹1500-12500 INR
$250-750 USD
$250-750 CAD
₹600-2500 INR
$10-30 USD
₹1500-12500 INR
$10-30 USD