Tools/Setup-EntraBeta.ps1
|
# Setup-EntraBeta.ps1 # Installs and imports the Microsoft.Entra.Beta module for local use. param( [switch]$ForceInstall ) function Ensure-ModuleInstalled { param( [string]$Name ) if (-not (Get-Module -ListAvailable -Name $Name)) { Write-Host "Module $Name not found. Installing from PSGallery..." try { Install-Module -Name $Name -Scope CurrentUser -Force:$ForceInstall -AllowClobber -ErrorAction Stop } catch { Write-Error "Failed to install $Name: $_" return $false } } else { Write-Host "Module $Name already available." } return $true } if (-not (Ensure-ModuleInstalled -Name 'Microsoft.Entra.Beta')) { Write-Error "Could not ensure Microsoft.Entra.Beta is installed. Aborting." exit 1 } try { Import-Module Microsoft.Entra.Beta -ErrorAction Stop Write-Host "Imported Microsoft.Entra.Beta" } catch { Write-Error "Failed to import Microsoft.Entra.Beta: $_" exit 1 } Write-Host "You can now run scripts that use Connect-Entra/Get-EntraSubscribedSku." |