ServiceDeskToolkit.psd1
|
@{ RootModule = 'ServiceDeskToolkit.psm1' ModuleVersion = '1.0.0' GUID = 'e2315571-1e81-4ed7-ab71-6363c98352d8' Author = 'Artur Warkentin' CompanyName = 'Artur Warkentin' Copyright = '(c) 2026 Artur Warkentin. Licensed under the MIT License.' Description = 'Microsoft 365 service desk automation for Entra ID, Exchange Online and Intune. Invoke-SDOffboarding disables the account, revokes sessions, converts the mailbox to a shared mailbox (optional FullAccess, forwarding and auto reply) and removes group memberships and direct licenses, with a JSON backup first and a per-step result. Get-SDIntuneNoncompliantReport exports non-compliant devices with days since last check-in and failing policies; Get-SDMailboxPermissionAudit exports FullAccess, SendAs and SendOnBehalf permissions and flags orphaned entries (CSV and HTML). Every change supports -WhatIf/-Confirm and is logged. Works with Windows PowerShell 5.1 and PowerShell 7. The Microsoft.Graph and ExchangeOnlineManagement modules are needed only by the functions that use them; they are checked at runtime and not installed automatically.' PowerShellVersion = '5.1' CompatiblePSEditions = @('Desktop', 'Core') # Microsoft.Graph.* and ExchangeOnlineManagement are intentionally NOT listed in # RequiredModules: as hard dependencies, Install-Module/Install-PSResource would pull # all of them (and Import-Module would fail without them) even for users who only need # one function, and loading Graph and Exchange Online assemblies at import time is a # known source of version conflicts (MSAL). Each function checks for its own modules # and an active connection at runtime. They are listed below as # ExternalModuleDependencies for documentation only. See README. FunctionsToExport = @( 'Invoke-SDOffboarding' 'Get-SDIntuneNoncompliantReport' 'Get-SDMailboxPermissionAudit' 'Test-SDToolkit' ) CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @() PrivateData = @{ PSData = @{ Tags = @('M365', 'Microsoft365', 'EntraID', 'AzureAD', 'Intune', 'ExchangeOnline', 'Offboarding', 'MicrosoftGraph', 'ServiceDesk', 'Helpdesk', 'Report', 'Audit', 'Compliance', 'MailboxPermissions', 'Windows', 'Linux', 'PSEdition_Desktop', 'PSEdition_Core') LicenseUri = 'https://github.com/Ni0ri/ServiceDeskToolkit/blob/main/LICENSE' ProjectUri = 'https://github.com/Ni0ri/ServiceDeskToolkit' ExternalModuleDependencies = @( 'Microsoft.Graph.Authentication' 'Microsoft.Graph.Users' 'Microsoft.Graph.Users.Actions' 'Microsoft.Graph.Groups' 'Microsoft.Graph.DeviceManagement' 'ExchangeOnlineManagement' ) ReleaseNotes = @' 1.0.0 (2026-10-01) - First PowerShell Gallery release. No functional changes since 0.1.0. - Invoke-SDOffboarding: disable account, revoke sessions, convert mailbox to shared, optional FullAccess/forwarding/auto reply, remove groups (Graph and Exchange Online) and direct licenses; JSON backup before changes, -WhatIf/-Confirm, per-step result. - Get-SDIntuneNoncompliantReport: non-compliant Intune devices as CSV and HTML, stale check-in detection, optional policy details. - Get-SDMailboxPermissionAudit: FullAccess, SendAs and SendOnBehalf permissions as CSV and HTML, orphaned SID detection. - Test-SDToolkit: offline self-test of the core logic. Full changelog: https://github.com/Ni0ri/ServiceDeskToolkit/blob/main/CHANGELOG.md '@ } } } |