Installera Microsoft Entra PowerShell offline

I miljöer med begränsad Internetåtkomst kan du behöva installera Microsoft Entra PowerShell-moduler offline. Den här artikeln beskriver hur du konfigurerar och installerar modulerna med hämtade paketfiler och en lokal lagringsplats.

Offlineinstallation är användbart i scenarier som:

  • Fysiskt isolerade nätverk utan internetanslutning
  • Organisationer med strikta säkerhetsprinciper som begränsar Internetåtkomst
  • Miljöer där direkt PowerShell Gallery åtkomst inte är tillgänglig

Förutsättningar

Kontrollera att du har följande innan du börjar:

  • PowerShell 5.1 eller senare (PowerShell 7+ rekommenderas)
  • Administratörsbehörigheter på måldatorn
  • Åtkomst till nedladdningsplats med Internetanslutning för att ladda ned nödvändiga filer
  • Signerade .nupkg-filer från versionssidan för Microsoft Entra PowerShell.

Översikt över offlineinstallationsprocessen

Offlineinstallationsprocessen omfattar följande huvudsakliga steg:

  1. Installera beroenden för Microsoft Graph PowerShell
  2. Konfigurera en lokal PowerShell-lagringsplats
  3. Ladda ned och placera nupkg-filer på den lokala lagringsplatsen
  4. Installera Microsoft Entra moduler från den lokala lagringsplatsen

Installera Microsoft Graph PowerShell-beroenden

Microsoft Entra PowerShell-moduler är beroende av specifika Microsoft Graph PowerShell-moduler. Dessa beroenden installeras automatiskt vid installation från PowerShell Gallery, men i offlinescenarier måste du installera dem manuellt.

Important

Du måste installera dessa beroenden på en dator med internetåtkomst först eller hämta beroendemodulerna via organisationens godkända programdistributionsmetod.

Kör följande skript för att installera nödvändiga Microsoft Graph PowerShell-beroenden. Microsoft Entra PowerShell stöder för närvarande version 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
}

Konfigurera en lokal PowerShell-lagringsplats

  1. Skapa en lokal PowerShell-lagringsplats där du lagrar Microsoft Entra PowerShell-modulpaket.

    # 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 Trusted
    
  2. Kontrollera att den lokala lagringsplatsen har skapats:

    # Display all registered repositories
    Get-PSRepository
    

    Du bör se utdata som liknar följande:

    Name                      InstallationPolicy   SourceLocation
    ----                      ------------------   --------------
    PSGallery                 Untrusted            https://www.powershellgallery.com/api/v2
    __LocalGallery__          Trusted              C:\LocalPowerShellGallery
    

Ladda ned och placera nupkg-filer

Ladda ned nupkg-filer

  1. Gå till versionssidan för Microsoft Entra PowerShell på GitHub.

  2. Välj den version som du vill installera (till exempel v1.0.11).

  3. I avsnittet Tillgångar laddar du ned nödvändiga nupkg-filer baserat på dina behov:

    Endast för v1.0-moduler:

    • Microsoft.Entra.1.0.11.nupkg
    • Microsoft.Entra.Applications.1.0.11.nupkg
    • Microsoft.Entra.Authentication.1.0.11.nupkg
    • Microsoft.Entra.CertificateBasedAuthentication.1.0.11.nupkg
    • Microsoft.Entra.DirectoryManagement.1.0.11.nupkg
    • Microsoft.Entra.Governance.1.0.11.nupkg
    • Microsoft.Entra.Groups.1.0.11.nupkg
    • Microsoft.Entra.Reports.1.0.11.nupkg
    • Microsoft.Entra.SignIns.1.0.11.nupkg
    • Microsoft.Entra.Users.1.0.11.nupkg

    För Beta-moduler: Ladda ned motsvarande .Beta. nupkg-filer om du behöver Beta-funktioner.

Placera filer på en lokal lagringsplats

Kopiera alla nedladdade nupkg-filer till din lokala gallerimapp:

# 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
}

Steg 4: Installera Microsoft Entra PowerShell-moduler

Installera enskilda moduler

Du kan installera moduler individuellt baserat på dina specifika behov:

# Install a specific module
Install-Module -Name 'Microsoft.Entra.Authentication' -Repository $localGallery -AllowClobber -Verbose

Installera alla moduler

Om du vill installera alla tillgängliga Microsoft Entra moduler använder du det här skriptet:

# 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
}

Installera rotmodulen (valfritt)

När du har installerat de beroende modulerna kan du installera rotmodulen:

Install-Module -Name 'Microsoft.Entra' -Repository $localGallery -AllowClobber -Verbose

Kontrollera installationen

Kontrollera att modulerna har installerats:

# Display all installed Microsoft Entra modules
Get-InstalledModule Microsoft.Entra.*

Du bör se utdata som liknar följande:

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

Testa installationen

Testa att modulerna fungerar korrekt genom att ansluta till 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

Rensning (valfritt)

Avregistrera den lokala lagringsplatsen

Om du inte längre behöver den lokala lagringsplatsen kan du avregistrera den:

# Unregister the local repository
Unregister-PSRepository -Name $localGallery
Write-Host "Local repository '$localGallery' has been unregistered" -ForegroundColor Yellow

Ta bort det lokala galleriet helt:

# 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

Vanliga problem och lösningar

Problematik Orsak Lösning
Modulen hittades inte på lagringsplatsen nupkg-filer kopieras inte till det lokala galleriet Kontrollera att filerna finns i rätt gallerisökväg
Beroenden är inte installerade Graph PowerShell-moduler saknas Installera nödvändiga Microsoft Graph PowerShell-moduler först
Åtkomst nekad Otillräckliga behörigheter Kör PowerShell som administratör
Lagringsplatsen är inte betrodd Lokal lagringsplats har inte markerats som betrodd Använd -Force parametern eller ange installationsprincipen till Betrodd

Verifiera innehållet i den lokala lagringsplatsen

Så här ser du vilka paket som är tillgängliga på din lokala lagringsplats:

# List all available packages in the local repository
Find-Module -Repository $localGallery

Kontrollera modulberoenden

För att förstå vilka beroenden en modul kräver:

# Get module dependencies
Find-Module -Name "Microsoft.Entra.Users" -Repository $localGallery | Select-Object -ExpandProperty Dependencies

Nästa steg