FileShareMigrationTools.psd1

@{
    RootModule           = 'FileShareMigrationTools.psm1'
    ModuleVersion        = '1.1.1'
    CompatiblePSEditions = @('Desktop', 'Core')
    GUID                 = '5b36be98-9e92-4c27-b088-5a97791e4203'
    Author               = 'Marcus Tedde'
    Copyright            = '(c) 2026 Marcus Tedde. All rights reserved.'
    Description          = 'Helper functions for exporting and recreating SMB file shares during file server migration or DFS preparation. Exports shares and share permissions from a source server, optionally remaps paths, and recreates shares and permissions on a target server with preview-by-default safety.'
    PowerShellVersion    = '5.1'

    FunctionsToExport = @(
        'Test-FSMAdminShareAccess',
        'Export-FSMShareInventory',
        'Export-FSMSharePermissions',
        'Convert-FSMSharePath',
        'New-FSMTargetShares',
        'Grant-FSMTargetSharePermissions',
        'Compare-FSMShareInventory',
        'Invoke-FSMShareMigrationPrep'
    )
    CmdletsToExport   = @()
    VariablesToExport = @()
    AliasesToExport   = @()

    PrivateData = @{
        PSData = @{
            Tags         = @('SMB', 'FileShare', 'Migration', 'DFS', 'Windows', 'FileServer')
            LicenseUri   = 'https://github.com/MarcusTedde/FileShareMigrationTools/blob/main/LICENSE'
            ProjectUri   = 'https://github.com/MarcusTedde/FileShareMigrationTools'
            ReleaseNotes = 'v1.1.1 - Bug fixes: (1) New-FSMTargetShares and Grant-FSMTargetSharePermissions failed with "Cannot convert String to Boolean" on the remote Execute parameter - an unparenthesised [bool]$Execute in argument mode was read as the literal string "[bool]False" instead of a cast (also stopped preview mode silently making changes on PowerShell 7); casts are now parenthesised. (2) Show-FSMResultSummary threw under StrictMode whenever there were no Failed items (the common happy path), crashing Invoke-FSMShareMigrationPrep at the summary step; the Failed tally is now StrictMode-safe. (3) Convert-FSMSharePath no longer mis-remaps paths that merely share a prefix with OldRoot (e.g. D:\Shares no longer matches D:\SharesArchive); the root must end at a path boundary. Added regression tests for all three.
v1.1.0 - Restructured into Public/Private. Fixed empty-result and CSV-column crashes, added per-item error handling, safe boolean parsing, -Credential support, clustered ScopeName support, colour-coded summaries and optional logging.'

        }
    }
}