MG-Cloudflow / Intune-Toolkit

The Intune-Toolkit offers a basic & user-friendly interface to connect to Microsoft Graph, manage policy assignments, and handle backup and restore operations

Home Page:https://cloudflow.be/intune-toolkit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Intune Toolkit

Overview

The Intune Toolkit is a PowerShell-based solution designed to simplify the management of Microsoft Intune policies. It provides a user-friendly interface for connecting to Microsoft Graph, managing policy assignments, and handling backup and restore operations for these assignments. The toolkit focuses on functionalities such as backing up and restoring policy assignments, and adding or deleting assignments, with robust error handling and detailed logging.

Intune Toolkit Interface

Features

  • Connect to Microsoft Graph: Authenticate with necessary scopes.
  • Tenant Information: Display tenant details and signed-in user information.
  • Policy and App Management: View and manage policies and apps with their assignments.
  • Supported Assignments:
    • Configuration Policies
    • Device Configuration Policies
    • Device Compliance Policies
    • Mobile Applications
      • Windows Applications
      • MacOS Applications
      • Android Managed Google Playstore Applications
      • IOS Store Applications
    • App Configuration Policies
    • Administrative Templates
    • Platform Scripts
    • Mac OS Scripts
  • Assignment Management:
    • Add and delete assignments for selected policies.
    • Search Security Groups.
    • Support for filters and installation intent.
  • Backup and Restore:
    • Back up and restore assignments to policies and apps.
  • Export Assignments:
    • Export assignments to CSV

    • Document Assignments to Markdown File

      • Selected Policies / applications
      • Bulk Export of Policy Type
  • Logging: Detailed logging for all major actions and error handling.

Release Notes

v0.2.2-alpha

  • Features
    • Assignments
      • Managed Google Play Store App
      • IOS Store App
    • Platform Inormation
    • Update to "Export to Mark Down (MD)"
      • Table of Contents
      • Platfrom Information

v0.2.1-alpha

  • Bug Fixes
    • Assignment Issue with Device confiuration poilicy (Settings Catalog)

v0.2.0-alpha

  • Features
    • Mac OS Scripts
    • App Configuration Policies
    • Document To markdown
      • Selected Policies / applications
      • Bulk Export of Policy Type
    • Basic Version Check to latest Release Version on Github
  • Bug Fixes
    • Build in safety when no filters Exists ( Second Attempt ;-) )

v0.1.1-alpha

  • Features
    • Platform scripts
    • Export To CSV
  • UI
    • Updated UI
    • Remove install intent column in policy Context
  • Bug Fixes -Build in safety when no filters Exists -Checks for MS Graph Module

Prerequisites

  • PowerShell 7.0 or later.
  • Microsoft Graph PowerShell SDK.
  • Windows Presentation Framework (WPF) for the GUI components.
  • Access to Microsoft Intune with the necessary permissions.

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/Intune-Toolkit.git
    cd Intune-Toolkit
  2. Install the Microsoft Graph PowerShell SDK:

    Install-Module Microsoft.Graph -Scope CurrentUser
  3. Ensure you have the required assemblies and permissions to run the toolkit.

Usage

  1. Launch the Main Script:

    .\Main.ps1
  2. Connect to Microsoft Graph:

    • Click the "Connect" button to sign in and authorize the toolkit with the necessary scopes.
  3. Manage Policies:

    • Select the type of policy you want to manage (e.g., Configuration Policies, Device Compliance Policies, etc.) using the corresponding buttons.
    • View and manage the assignments for the selected policies.
  4. Backup Policies:

    • Click the "Backup" button to save the current assignments of your policies to a JSON file. Note that the toolkit currently supports only bulk backups; individual policy backups will be available in future updates.
  5. Restore Policies:

    • Click the "Restore" button to load all assignments of the selected policy type from a backup file. Note that individual policy restores will be available in future updates.
  6. Add/Remove Assignments:

    • Use the "Add Assignment" and "Delete Assignment" buttons to manage assignments for the selected policies.
    • You can select one or multiple policies with assignments. When you click "Add Assignment," it will add to the existing assignments of those policies, looping through them until all policy assignments have been updated.
    • When adding assignments, a pop-up box will appear allowing you to select a security group, include or exclude it from the policy, and apply possible filters for applications. You will also have the option to select the installation intent of the application.
    • When you click the "Delete Assignment" button, it will delete the assignments you selected.

File Structure

  • Main.ps1: The main script that initializes the application, loads the UI, and imports other scripts.
  • Scripts/: Contains all function scripts for various actions.
    • Functions.ps1: Contains common functions used across the toolkit.
    • ConnectButton.ps1: Handles the connect button click event.
    • LogoutButton.ps1: Handles the logout button click event.
    • ConfigurationPoliciesButton.ps1: Handles loading configuration policies.
    • DeviceConfigurationButton.ps1: Handles loading device configurations.
    • ComplianceButton.ps1: Handles loading compliance policies.
    • AdminTemplatesButton.ps1: Handles loading administrative templates.
    • ApplicationsButton.ps1: Handles loading applications.
    • DeleteAssignmentButton.ps1: Handles deleting assignments.
    • AddAssignmentButton.ps1: Handles adding assignments.
    • BackupButton.ps1: Handles backing up policies.
    • RestoreButton.ps1: Handles restoring policies.
    • Show-SelectionDialog.ps1: Displays the selection dialog for groups and filters.
    • SearchButton.ps1: Handles search functionality.
  • XML/: Contains XAML files for defining the UI layout.
    • Main.xaml: XAML file for the main window layout.
    • SelectionDialog.xaml: XAML file for the selection dialog layout.
  • Logs/: Contains the log files generated during the execution of the toolkit.

Logging

The toolkit logs all major actions and errors to IntuneToolkit.log. Each log entry includes a timestamp, component, context, type, thread, and file information to help with troubleshooting and tracking activities.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

  • Microsoft Graph PowerShell SDK for providing the necessary APIs to manage Intune.

About

The Intune-Toolkit offers a basic & user-friendly interface to connect to Microsoft Graph, manage policy assignments, and handle backup and restore operations

https://cloudflow.be/intune-toolkit

License:MIT License


Languages

Language:PowerShell 100.0%