Skip to content

Releases: ugurkocde/DeviceOffboardingManager

Version 0.2.2

26 Jul 16:03

Choose a tag to compare

Version 0.2.2 - 7/26/2025

  • Fixed Autopilot Device Removal by Serial Number: Enhanced offboarding process to properly retrieve and use serial numbers for Autopilot device removal (Issue #45)
    • Captures serial number from Intune device data during offboarding
    • Extracts serial number from Entra ID device physicalIds when available
    • Ensures devices searched by name can be properly removed from Autopilot
    • Fixes "BadRequest" API error when searching Autopilot devices by displayName
  • Fixed Critical Error with Duplicate Entra ID Devices: Enhanced offboarding to handle duplicate device records in Entra ID (Issue #44)
    • Processes all duplicate devices instead of just the first one
    • Validates serial numbers to avoid deleting wrong duplicates
    • Provides detailed logging for each duplicate device processed
    • Reports partial success when some duplicates fail to delete
    • Prevents critical errors when multiple devices share the same name
  • Export Selected Devices to CSV: Added new feature to export only selected device names to CSV (Issue #43)
    • Added "Export Selected" button next to existing "Export Results" button
    • Exports device names along with all metadata (serial number, OS, user, service status)
    • Button is enabled/disabled based on device selection
    • Allows easy transfer of device information to other systems for cleanup
    • Maintains consistent export format with existing export functionality
  • Enhanced Dialog Error Handling: Added comprehensive error handling for all dialog windows (Issue #42)
    • Added null checks before calling ShowDialog() on all windows
    • Wrapped all ShowDialog() calls in try-catch blocks
    • Added error handling for window creation with XamlReader.Load()
    • Provides user-friendly error messages when dialogs fail to load
    • Prevents "null-valued expression" errors during offboarding

Full Changelog: v0.2.1...v0.2.2

Version 0.2.1

29 Jun 18:10
c730ba9

Choose a tag to compare

Version 0.2.1 - 6/29/2025

Highlights

This release includes several important bug fixes and UI enhancements to improve the device management experience.

What's Changed

  • Fixed Autopilot Device Removal: Enhanced Autopilot device removal to use displayName as fallback when serial number is unavailable (Issue #34)

    • Added search by displayName for Autopilot devices
    • Improved handling of pre-provisioned Autopilot devices that may not be in Intune
    • Better error messages indicating why removal might fail
  • Fixed CSV Bulk Import: CSV bulk import now automatically triggers device search after import (Issue #32)

    • Created centralized Invoke-DeviceSearch function for consistent search behavior
    • Added automatic search execution after CSV file selection
    • Improved validation for empty files and whitespace
  • Enhanced Device Search: Improved device search to handle Autopilot-only devices (Related to Issue #34)

    • Devices existing only in Autopilot service are now properly displayed
    • Serial numbers are populated from any available source (Intune or Autopilot)
    • Fixed handling of devices that exist in Autopilot but not in Intune
  • Input Validation: Added trimming of newlines and whitespace from search input to prevent accidental multi-line entries (Related to Issue #34)

  • Enhanced Bulk Import UI: Replaced file dialog with professional modal interface for bulk device import

    • Added visual CSV template with example device identifiers
    • Implemented downloadable template CSV functionality
    • Added file preview showing first 10 devices before import
    • Improved error handling with clear visual feedback
    • Enhanced user experience with modern, consistent styling
  • Dynamic Version Display: Added automatic version number display in window title

  • Improved Changelog Display: Enhanced markdown rendering in changelog modal

    • Added support for bold text formatting
    • Added support for inline code formatting
    • Properly handles nested list indentation
    • Mixed formatting (bold, italic, code) now renders correctly
    • Improved visual styling with appropriate fonts and colors
  • Fixed Date Parsing Issues: Implemented culture-invariant date parsing across the entire application

    • Fixed Autopilot last contact date showing 1/1/0001 12:00AM (Issue #31)
    • Fixed Playbook_1.ps1 date parsing error with culture-specific formats (Issue #30)
    • Fixed Dashboard date parsing errors causing multiple log entries (Issue #16)
    • Added ConvertTo-SafeDateTime helper function for consistent date handling
    • Updated all playbooks to use culture-invariant date parsing
    • Replaced all DateTime::Parse calls with safe parsing that handles multiple formats

Full Changelog

v0.2...v0.2.1

Version 0.2

20 Jun 21:57
66a7cdc

Choose a tag to compare

Device Offboarding Manager v0.2

🚀 Major Improvements

Bulk Offboarding Enhancement

  • Single confirmation dialog for all devices - no more clicking OK for each device (fixes #28)
  • Service selection checkboxes - choose which services to remove devices from (Entra ID, Intune, Autopilot) (fixes #25)
  • Comprehensive summary showing results for all devices with success/failure statistics

Export to CSV Feature

  • Export search results, playbook results, and dashboard data (fixes #20)
  • All exports use a consistent file save dialog
  • Includes all device details in a clean CSV format

Interactive Dashboard

  • All dashboard cards are now clickable:
    • Total device cards (Intune, Autopilot, Entra ID)
    • Stale device cards (30/90/180 days)
    • Personal and Corporate device cards
  • Click any card to view the full device list with export capability

🔧 Fixes

Permission Issues

  • Added missing BitlockerKey.Read.All permission to prerequisites (fixes #24)
  • Updated Entra ID permission from Device.Read.All to Device.ReadWrite.All (fixes #23)
  • Added specific error messages when permissions are missing

Playbook Functionality

  • Fixed playbook downloads - all 5 playbooks now work correctly (fixes #26)
  • Enabled previously disabled playbooks:
    • Intune Devices Not in Autopilot
    • Corporate Device Inventory
    • Personal Device Inventory
    • Stale Device Report

📋 Technical Changes

Updated Prerequisites

Required Microsoft Graph API Permissions:
- Device.ReadWrite.All        ← Updated
- BitlockerKey.Read.All       ← New

New Functions

  • Export-DeviceListToCSV - Reusable export function
  • Show-OffboardingSummary - Results dialog for bulk operations
  • Show-DashboardCardResults - Dashboard drilldown functionality

🔄 Upgrade

Install-Script DeviceOffboardingManager -Force