Installieren Sie Microsoft Entra PowerShell offline

In Umgebungen mit eingeschränktem Internetzugriff müssen Sie möglicherweise Microsoft Entra PowerShell-Module offline installieren. In diesem Artikel wird erläutert, wie Sie die Module mit heruntergeladenen Paketdateien und einem lokalen Repository einrichten und installieren.

Die Offlineinstallation ist in Szenarien hilfreich, z. B.:

  • Luftgespaltene Netzwerke ohne Internetverbindung
  • Organisationen mit strengen Sicherheitsrichtlinien, die den Internetzugriff einschränken
  • Umgebungen, in denen direkter PowerShell-Katalog Zugriff nicht verfügbar ist

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie folgendes haben:

  • PowerShell 5.1 oder höher (PowerShell 7+ empfohlen)
  • Administratorrechte auf dem Zielcomputer
  • Zugriff auf den Downloadspeicherort mit Internetverbindung zum Herunterladen der erforderlichen Dateien
  • Signierte nupkg-Dateien von der Microsoft Entra PowerShell-Release-Seite.

Übersicht über den Offlineinstallationsprozess

Der Offlineinstallationsprozess umfasst die folgenden Hauptschritte:

  1. Installieren Microsoft Graph PowerShell-Abhängigkeiten
  2. Einrichten eines lokalen PowerShell-Repositorys
  3. Herunterladen und Platzieren von nupkg-Dateien im lokalen Repository
  4. Installieren von Microsoft Entra Modulen aus dem lokalen Repository

Installieren Microsoft Graph PowerShell-Abhängigkeiten

Microsoft Entra PowerShell-Module sind von bestimmten Microsoft Graph PowerShell-Modulen abhängig. Diese Abhängigkeiten werden bei der Installation aus dem PowerShell-Katalog automatisch installiert, aber in Offlineszenarien müssen Sie sie manuell installieren.

Von Bedeutung

Sie müssen diese Abhängigkeiten zuerst auf einem Computer mit Internetzugriff installieren oder die Abhängigkeitsmodule über die genehmigte Softwareverteilungsmethode Ihrer Organisation abrufen.

Führen Sie das folgende Skript aus, um die erforderlichen Microsoft Graph PowerShell-Abhängigkeiten zu installieren. Microsoft Entra PowerShell unterstützt derzeit 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
}

Einrichten eines lokalen PowerShell-Repositorys

  1. Erstellen Sie ein lokales PowerShell-Repository, in dem Sie die Microsoft Entra PowerShell-Modulpakete speichern.

    # 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. Stellen Sie sicher, dass das lokale Repository erfolgreich erstellt wurde:

    # Display all registered repositories
    Get-PSRepository
    

    Die Ausgabe sollte ähnlich wie folgt angezeigt werden:

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

Herunterladen und Platzieren von nupkg-Dateien

Herunterladen von nupkg-Dateien

  1. Navigieren Sie zur Microsoft Entra PowerShell-Release-Seite auf GitHub.

  2. Wählen Sie die Version aus, die Sie installieren möchten (z. B. v1.0.11).

  3. Laden Sie im Abschnitt "Ressourcen " die erforderlichen nupkg-Dateien basierend auf Ihren Anforderungen herunter:

    Nur für v1.0-Module:

    • 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 Betamodule: Laden Sie die entsprechenden .Beta. nupkg-Dateien herunter, wenn Sie Beta-Funktionen benötigen.

Platzieren von Dateien im lokalen Repository

Kopieren Sie alle heruntergeladenen nupkg-Dateien in Ihren lokalen Katalogordner:

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

Schritt 4: Installieren Microsoft Entra PowerShell-Module

Installieren einzelner Module

Sie können Module individuell basierend auf Ihren spezifischen Anforderungen installieren:

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

Installieren aller Module

Verwenden Sie dieses Skript, um alle verfügbaren Microsoft Entra Module zu installieren:

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

Installieren des Stammmoduls (optional)

Nach der Installation der abhängigen Module können Sie optional das Stammmodul installieren:

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

Überprüfen der Installation

Überprüfen Sie, ob die Module erfolgreich installiert wurden:

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

Die Ausgabe sollte ähnlich wie folgt angezeigt werden:

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

Testen der Installation

Testen Sie, dass die Module ordnungsgemäß funktionieren, indem Sie eine Verbindung mit Microsoft Entra herstellen:

# 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

Bereinigung (optional)

Aufheben der Registrierung des lokalen Repositorys

Wenn Sie das lokale Repository nicht mehr benötigen, können Sie die Registrierung aufheben:

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

So entfernen Sie die lokale Galerie vollständig:

# 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

Häufige Probleme und Lösungen

Issue Ursache Lösung
Das Modul wurde im Repository nicht gefunden nupkg-Dateien nicht in den lokalen Katalog kopiert Überprüfen Sie, ob die Dateien sich im richtigen Galeriepfad befinden.
Abhängigkeiten sind nicht installiert Fehlende Graph-PowerShell-Module Installieren erforderlicher Microsoft Graph PowerShell-Module zuerst
Zugriff abgelehnt Unzureichende Berechtigungen Ausführen von PowerShell als Administrator
Repository ist nicht vertrauenswürdig Lokales Repository nicht als vertrauenswürdig gekennzeichnet Verwenden Sie den Parameter -Force oder legen Sie die Installationsrichtlinie auf „Vertrauenswürdig“ fest.

Überprüfen des lokalen Repositoryinhalts

So sehen Sie, welche Pakete in Ihrem lokalen Repository verfügbar sind:

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

Überprüfen von Modulabhängigkeiten

So verstehen Sie, welche Abhängigkeiten ein Modul erfordert:

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

Nächste Schritte