Private/Export-MSAppRegistration.ps1
|
function Export-MSAppRegistration { <# .SYNOPSIS Saves app registration settings to environment variables. .DESCRIPTION Persists the current app registration configuration (AppId, TenantId, CertificateThumbprint, ClientSecret) to user-level environment variables. .EXAMPLE Export-MSAppRegistration #> [CmdletBinding()] param() $appReg = $script:MSProfileState.AppRegistration if (-not $appReg.AppId) { Write-Warning "No app registration configured. Use Add-MSAppRegistration first." return } Write-Host "`tSaving app registration to environment variables..." -ForegroundColor Yellow [Environment]::SetEnvironmentVariable('microsoftConnectionAppId', $appReg.AppId, 'User') [Environment]::SetEnvironmentVariable('microsoftConnectionTenantId', $appReg.TenantId, 'User') [Environment]::SetEnvironmentVariable('microsoftConnectionAuthMethod', 'ServicePrincipal', 'User') if ($appReg.CertificateThumbprint) { [Environment]::SetEnvironmentVariable('microsoftConnectionCertThumbprint', $appReg.CertificateThumbprint, 'User') } if ($appReg.ClientSecret) { try { $encrypted = ConvertFrom-SecureString $appReg.ClientSecret [Environment]::SetEnvironmentVariable('microsoftConnectionClientSecret', $encrypted, 'User') } catch { Write-Warning "Failed to save client secret: $_" } } Write-Host "`tApp registration saved successfully." -ForegroundColor Green Write-Host "`n`tPlease close and reopen PowerShell for changes to take effect.`n" -ForegroundColor Green } |