Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Em ambientes com acesso restrito à internet, pode ser necessário instalar módulos PowerShell Microsoft Entra offline. Este artigo explica como configurar e instalar os módulos usando ficheiros de pacote descarregados e um repositório local.
A instalação offline é útil em cenários como:
- Redes isoladas sem ligação à internet
- Organizações com políticas de segurança rigorosas que restringem o acesso à internet
- Ambientes onde não está disponível acesso direto ao Galeria do PowerShell
Pré-requisitos
Antes de começar, certifique-se de que tem:
- PowerShell 5.1 ou superior (recomendado PowerShell 7+)
- Privilégios administrativos na máquina alvo
- Acesso ao local de download com conectividade à internet para descarregar os ficheiros necessários
- Ficheiros .nupkg assinados da página de lançamentos do Microsoft Entra PowerShell.
Visão geral do processo de instalação offline
O processo de instalação offline envolve os seguintes passos principais:
- Instalar dependências PowerShell do Microsoft Graph
- Configurar um repositório PowerShell local
- Descarregar e colocar ficheiros nupkg no repositório local
- Instale os módulos Microsoft Entra a partir do repositório local
Instalar dependências PowerShell do Microsoft Graph
Os módulos PowerShell do Microsoft Entra dependem de módulos específicos do Microsoft Graph PowerShell. Estas dependências são instaladas automaticamente ao instalar a partir da Galeria do PowerShell, mas em cenários offline, é necessário instalá-las manualmente.
Important
Deve instalar estas dependências numa máquina com acesso à internet primeiro, ou obter os módulos de dependência através do método de distribuição de software aprovado pela sua organização.
Execute o seguinte script para instalar as dependências necessárias do Microsoft Graph PowerShell. O Microsoft Entra PowerShell suporta atualmente a versão 2.25.0.
# Define the required Graph modules version
$graphModulesVersion = "2.25.0"
# List of required Graph modules
$graphModules = @(
"Microsoft.Graph.DirectoryObjects",
"Microsoft.Graph.Users",
"Microsoft.Graph.Users.Actions",
"Microsoft.Graph.Groups",
"Microsoft.Graph.Identity.DirectoryManagement",
"Microsoft.Graph.Identity.Governance",
"Microsoft.Graph.Identity.SignIns",
"Microsoft.Graph.Applications",
"Microsoft.Graph.Reports"
)
# Install each module
foreach ($moduleName in $graphModules) {
Write-Host "Installing Module $($moduleName)" -ForegroundColor Green
Install-Module $moduleName -Scope CurrentUser -RequiredVersion $graphModulesVersion -Force -AllowClobber -Verbose
}
Configurar um repositório PowerShell local
Cria um repositório PowerShell local onde vais guardar os pacotes de módulos Microsoft Entra PowerShell.
# Define local gallery settings $localGallery = '__LocalGallery__' $galleryPath = 'C:\LocalPowerShellGallery' # Create the gallery directory if it doesn't exist if (-not(Test-Path $galleryPath)) { Write-Host "Creating local gallery directory: $galleryPath" -ForegroundColor Yellow $null = New-Item -Path $galleryPath -ItemType Directory } # Register the local repository Write-Host "Registering local PowerShell repository: $localGallery" -ForegroundColor Green $null = Register-PSRepository -Name $localGallery -SourceLocation $galleryPath -ScriptSourceLocation $galleryPath -InstallationPolicy TrustedVerifique se o repositório local foi criado com sucesso:
# Display all registered repositories Get-PSRepositoryDeverias ver resultados semelhantes a:
Name InstallationPolicy SourceLocation ---- ------------------ -------------- PSGallery Untrusted https://www.powershellgallery.com/api/v2 __LocalGallery__ Trusted C:\LocalPowerShellGallery
Descarregue e coloque ficheiros nupkg
Descarregar ficheiros nupkg
Navegue até à página de lançamentos do Microsoft Entra PowerShell no GitHub.
Escolhe a versão que queres instalar (por exemplo, v1.0.11).
Na secção de Ativos , descarregue os ficheiros nupkg necessários de acordo com as suas necessidades:
Para módulos v1.0 apenas:
Microsoft.Entra.1.0.11.nupkgMicrosoft.Entra.Applications.1.0.11.nupkgMicrosoft.Entra.Authentication.1.0.11.nupkgMicrosoft.Entra.CertificateBasedAuthentication.1.0.11.nupkgMicrosoft.Entra.DirectoryManagement.1.0.11.nupkgMicrosoft.Entra.Governance.1.0.11.nupkgMicrosoft.Entra.Groups.1.0.11.nupkgMicrosoft.Entra.Reports.1.0.11.nupkgMicrosoft.Entra.SignIns.1.0.11.nupkgMicrosoft.Entra.Users.1.0.11.nupkg
Para módulos Beta: Descarrega os ficheiros nupkg correspondentes
.Beta.se precisares de funcionalidade Beta.
Colocar ficheiros no repositório local
Copie todos os ficheiros nupkg descarregados para a pasta da galeria local:
# Copy nupkg files to the local gallery
# Replace 'C:\Downloads' with the actual path where you downloaded the files
$downloadPath = 'C:\Downloads'
$nupkgFiles = Get-ChildItem -Path $downloadPath -Filter "Microsoft.Entra*.nupkg"
foreach ($file in $nupkgFiles) {
Write-Host "Copying $($file.Name) to local gallery" -ForegroundColor Cyan
Copy-Item -Path $file.FullName -Destination $galleryPath -Force
}
Passo 4: Instalar módulos PowerShell Microsoft Entra
Instalar módulos individuais
Pode instalar módulos individualmente com base nas suas necessidades específicas:
# Install a specific module
Install-Module -Name 'Microsoft.Entra.Authentication' -Repository $localGallery -AllowClobber -Verbose
Instale todos os módulos
Para instalar todos os módulos Microsoft Entra disponíveis, utilize este script:
# Define the modules to install
$entraModules = @(
"Microsoft.Entra.Authentication",
"Microsoft.Entra.Applications",
"Microsoft.Entra.DirectoryManagement",
"Microsoft.Entra.Groups",
"Microsoft.Entra.Governance",
"Microsoft.Entra.SignIns",
"Microsoft.Entra.Users",
"Microsoft.Entra.Reports",
"Microsoft.Entra.CertificateBasedAuthentication"
)
# Install each module from the local gallery
foreach ($moduleName in $entraModules) {
Write-Host "[Local Gallery] Installing: $moduleName" -ForegroundColor Green
Install-Module -Name $moduleName -Repository $localGallery -AllowClobber -Verbose
}
Instalar o módulo raiz (opcional)
Depois de instalar os módulos dependentes, pode, opcionalmente, instalar o módulo raiz:
Install-Module -Name 'Microsoft.Entra' -Repository $localGallery -AllowClobber -Verbose
Verificar a instalação
Verifique se os módulos foram instalados com sucesso:
# Display all installed Microsoft Entra modules
Get-InstalledModule Microsoft.Entra.*
Deverias ver resultados semelhantes a:
Version Name Repository Description
------- ---- ---------- -----------
1.0.11 Microsoft.Entra.Applications __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.Authentication __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.CertificateBasedAuthentication __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.DirectoryManagement __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.Governance __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.Groups __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.Reports __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.SignIns __LocalGallery__ Microsoft Entra PowerShell
1.0.11 Microsoft.Entra.Users __LocalGallery__ Microsoft Entra PowerShell
Teste a instalação
Teste se os módulos funcionam corretamente ligando-se ao Microsoft Entra:
# Import the authentication module
Import-Module Microsoft.Entra.Authentication
# Connect to Microsoft Entra (this will require internet connectivity for authentication)
Connect-Entra
# Test with a simple command
Get-EntraContext
Limpeza (opcional)
Desregistar o repositório local
Se já não precisares do repositório local, podes des-o registar:
# Unregister the local repository
Unregister-PSRepository -Name $localGallery
Write-Host "Local repository '$localGallery' has been unregistered" -ForegroundColor Yellow
Eliminar a pasta local da galeria
Para remover completamente a galeria local:
# Remove the local gallery folder and its contents
if (Test-Path $galleryPath) {
Remove-Item -Path $galleryPath -Recurse -Force
Write-Host "Local gallery folder removed: $galleryPath" -ForegroundColor Yellow
}
Troubleshooting
Problemas comuns e soluções
| Issue | Motivo | Solução |
|---|---|---|
| Módulo não encontrado no repositório | ficheiros nupkg não copiados para a galeria local | Verificar que os ficheiros estão no caminho correto da galeria |
| Dependências não instaladas | Módulos do Graph PowerShell em falta | Instale primeiro os módulos PowerShell Microsoft Graph necessários |
| Acesso negado | Permissões insuficientes | Executar o PowerShell como administrador |
| Repositório não confiável | Repositório local não marcado como confiável | Usar -Force parâmetro ou definir a política de instalação para Confiável |
Verificar o conteúdo do repositório local
Para ver que pacotes estão disponíveis no seu repositório local:
# List all available packages in the local repository
Find-Module -Repository $localGallery
Verificar dependências de módulos
Para compreender que dependências um módulo necessita:
# Get module dependencies
Find-Module -Name "Microsoft.Entra.Users" -Repository $localGallery | Select-Object -ExpandProperty Dependencies