A PowerShell-based GUI tool for managing user offboarding in both Active Directory and Office 365 environments. Designed to work across multiple Windows architectures including x86, x64, and ARM. Features a demo mode for testing and training purposes.
This script is actively being developed, with frequent updates and new features. And offcourse - sometimes some features might not be fully tested yet, if you find something don't hesitate to create an issue.
The tool automatically adapts to your system architecture:
- β x64 (64-bit): Full AD PowerShell module support
- β x86 (32-bit): Full AD PowerShell module support
- β ARM64: LDAP-based access (Windows 11 ARM)
- π₯οΈ Modern WPF interface with sleek styling
- π Secure authentication for both AD and O365
- π Automatic architecture detection and adaptation
- π Comprehensive reporting system with CSV export
- β‘ Support for both AD Module and LDAP approaches
- π― Demo mode for testing and training
- π Activity logging and audit trails
- π Real-time task execution feedback
- βοΈ Settings Page: easy configuration
- Disable AD accounts
- Remove group memberships
- Move to disabled OU
- Set Expiration date
- Automatic logging of all actions
- Microsoft Graph integration
- Mailbox Management
- Convert to shared mailbox
- Mail forwarding
- Configure auto reply
- License management reporting
- User status verification
- Secure connection handling
- Offboarding activity reports
- License usage reports
- Date range filtering
- Export to CSV
- Detailed user activity tracking
Test the application's functionality without affecting your AD environment:
- Simulated AD operations
- Mock user data
- Safe testing environment
- Training purposes
- No actual AD modifications
Screenshots may be outdated due to continuous development!
- Windows PowerShell 5.1 or later
- One of the following:
- Windows 10/11 (x64/x86) with AD PowerShell module
- Windows 11 ARM with RSAT tools
- Microsoft Graph PowerShell module (auto-installed if needed)
- Appropriate AD and O365 permissions
- Internet connection for O365 features
# Clone the repository
git clone https://github.com/CreativeAcer/OffboardingManager.git
# Navigate to the directory
cd ADUserOffboarding
# Optional: Create desktop shortcut
.\Create-Shortcut.bat
- runs Create-OffboardingShortcut.ps1
- Basic UI Implementation
- AD Integration
- O365 Basic Integration
- Cross-Architecture Support
- Demo Mode Implementation
- Reporting System
- Activity Logging
- Advanced O365 Features (In Development)
- Bulk Operations (Planned)
- Enhanced Reporting Features (Comming Soon)
These items might change the scope of this project
- (bulk)Creation of user
- Settings page
- Remove from Teams groups
- Transfer Teams ownership
- Archive Teams channels
- Remove SharePoint permissions
- Transfer OneDrive ownership
- Back up OneDrive content
- License reassignment
- License cost analysis
- License usage optimization
- Product-specific disabling
- Bulk license management
- Set Expiration date
- Revoke app permissions
- Remove MFA devices
- Clear mobile device list
- Export mailbox audit logs
- Set litigation hold
- Generate security reports
- Remove from Intune
- Wipe enrolled devices
- Revoke certificates
- Remove Azure AD devices
- Clear cached credentials
- Device compliance report
- Scheduled offboarding
- Conditional task execution
- Custom workflow builder
- Email notifications
- Manager approvals
- Integration with ticketing systems
Feel free to submit issues, fork the repository and create pull requests for any improvements.
- Launch the application using Start-Offboarding.ps1 or the desktop shortcut
- Login with AD credentials or select Demo Mode
- Select a user from the list
- Choose operations from available tabs:
- On-Premises Tasks
- Disable AD account
- Remove group memberships
- Move to disabled OU
- Set expiration date
- O365 Management
- Connect to Microsoft Graph
- Mailbox Management
- Teams and SharePoint Management
- License Management
- View license status
- Report Generation
- Generate activity reports
- Export license reports
- Execute selected tasks
- Review real-time feedback
- Export reports as needed
-
Offboarding Activity Report
-
Track all offboarding actions
-
Filter by date range
-
View success/failure status
-
Export to CSV
-
License Usage Report
-
Current license assignments
-
License distribution overview
-
User license details
-
Export capabilities
- Date range filtering
- Multiple export formats
- Detailed audit trails
- Real-time generation
- Searchable results
- Error tracking
- Activity summaries
- CSV format support
- Structured data output
- Timestamp inclusion
- Detailed metadata
- Audit compatibility
/ADUserOffboarding/
βββ Start-Offboarding.ps1
βββ Launch-Offboarding.ps1
βββ Create-OffboardingShortcut.ps1
βββ Create-Shortcut.bat
βββ Config/
β βββ Colors.ps1
β βββ Fonts.ps1
β βββ Settings.ps1
βββ Functions/
β βββ Environment.ps1
β βββ LDAP/
β β βββ LDAPConnection.ps1
β β βββ LDAPUsers.ps1
β βββ Utilities/
β β βββ Mockdata.ps1
β β βββ PathUtils.ps1
β βββ UI/
β β βββ LoginDialog.ps1
β β βββ MainWindow.ps1
β β βββ O365/ # O365 specific functions
β β β βββ Initialize-O365Tab.ps1 # Contains initialization code
β β β βββ Start-O365Tasks.ps1 # Main task execution logic
β β β βββ MailboxManagement.ps1
β β β βββ TeamsManagement.ps1
β β β βββ LicenseManagement.ps1
β β β βββ Connect-O365.ps1
β β β βββ Tasks/
β β β β βββ Get-O365Status.ps1 # O365 status check functionality
β β β β βββ Set-MailboxTasks.ps1 # Mailbox-related tasks
β β β β βββ Set-TeamsTasks.ps1 # Teams and SharePoint tasks
β β β β βββ Set-LicenseTasks.ps1 # License management tasks
β β β βββ UI/
β β β βββ Update-ForwardingList.ps1 # UI update functions
β β β βββ Update-TeamsOwnerList.ps1
β β β βββ Update-LicenseList.ps1
β β βββ MainWindow/
β β β βββ Initialize-MainWindow.ps1
β β β βββ Update-UserList.ps1
β β β βββ Update-SelectedUser.ps1
β β β βββ Show-UserDetails.ps1
β β βββ OnPremHandlers.ps1
β β βββ O365Handlers.ps1
β β βββ ReportHandlers.ps1
β β βββ XAMLHelper.ps1
β β βββ Show-SettingsWindow.ps1
β β βββ SettingsHandler.ps1
β β βββ EasterEgg.ps1
β βββ Logging/
β βββ Write-ActivityLog.ps1
βββ XAML/
β βββ LoadingWindow.xaml
β βββ LoginWindow.xaml
β βββ SettingsWindow.xaml
β βββ MainWindow.xaml
βββ Logs/
β βββ error_log.txt
βββ Reports/
β βββ date.csv
βββ docs/
βββ images/
βββ MainWindow2.png # Main banner
βββ Login.png # Login screen
βββ MainWindow.png # Main interface
- PowerShell Community for inspiration and examples
- Microsoft Graph API Documentation
- Active Directory PowerShell Module Documentation
- Contributors and testers providing valuable feedback