Tools/Move-OMGFunctionsToModules.ps1
# Root of your module repo $basePath = "C:\repos\OMG.PSUtilities" # Mapping of functions to their destination modules $functionMap = @{ "Get-PSUInstalledSoftware" = "Core" "Uninstall-PSUInstalledSoftware"= "Core" "Get-PSUUserSession" = "Core" "Remove-PSUUserSession" = "Core" "Set-PSUUserEnvironmentVariable"= "Core" "Find-PSUFilesContainingText" = "Core" "Get-PSUConnectedWifiInfo" = "Core" "Test-PSUInternetConnection" = "Core" "Invoke-PSUPromptAI" = "AI" "Start-PSUAiChat" = "AI" "Get-PSUAzToken" = "AzureCore" "Test-PSUAzConnection" = "AzureCore" "Get-PSUADOBuildDetails" = "AzureDevOps" "Get-PSUADOPipelineLatestRun" = "AzureDevOps" "New-PSUHTMLReport" = "Core" "Send-PSUHTMLReport" = "Core" "Send-PSUTeamsMessage" = "Core" } # Source location of existing .ps1 function files (old flat layout) $sourcePublicFolder = "C:\repos\OMG.PSUtilities-Old\Public" foreach ($func in $functionMap.Keys) { $moduleName = $functionMap[$func] $targetModuleFolder = Join-Path $basePath "OMG.PSUtilities.$moduleName" $targetPublic = Join-Path $targetModuleFolder "Public" # Ensure destination exists if (-not (Test-Path $targetPublic)) { Write-Warning "❌ Missing target: $targetPublic — skipping $func" continue } $sourceFile = Join-Path $sourcePublicFolder "$func.ps1" $destFile = Join-Path $targetPublic "$func.ps1" if (Test-Path $sourceFile) { Move-Item -Path $sourceFile -Destination $destFile -Force Write-Host "✅ Moved $func.ps1 to $targetPublic" -ForegroundColor Green } else { Write-Warning "⚠️ File not found: $sourceFile" } } |