Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W środowiskach z ograniczonym dostępem do Internetu może być konieczne zainstalowanie Microsoft Entra modułów programu PowerShell w trybie offline. W tym artykule wyjaśniono, jak skonfigurować i zainstalować moduły przy użyciu pobranych plików pakietu i repozytorium lokalnego.
Instalacja w trybie offline jest przydatna w takich scenariuszach jak:
- Sieci fizycznie odizolowane, bez połączenia z internetem
- Organizacje z rygorystycznymi zasadami zabezpieczeń, które ograniczają dostęp do Internetu
- Środowiska, w których bezpośredni dostęp Galeria programu PowerShell jest niedostępny
Prerequisites
Zanim zaczniesz, upewnij się, że masz:
- PowerShell 5.1 lub nowszy (zalecany program PowerShell 7 lub nowszy)
- Uprawnienia administracyjne na maszynie docelowej
- Dostęp do lokalizacji pobierania z łącznością internetową w celu pobrania wymaganych plików
- Podpisane pliki nupkg ze strony wydań programu PowerShell Microsoft Entra.
Omówienie procesu instalacji w trybie offline
Proces instalacji w trybie offline obejmuje następujące główne kroki:
- Instalowanie zależności programu PowerShell dla Microsoft Graph
- Konfigurowanie lokalnego repozytorium programu PowerShell
- Pobieranie i umieszczanie plików nupkg w repozytorium lokalnym
- Instalowanie modułów Microsoft Entra z repozytorium lokalnego
Instalowanie zależności programu PowerShell dla Microsoft Graph
Moduły programu PowerShell dla Microsoft Entra zależą od określonych modułów programu Microsoft Graph PowerShell. Te zależności są instalowane automatycznie podczas instalowania z Galeria programu PowerShell, ale w scenariuszach offline należy je zainstalować ręcznie.
Ważna
Należy najpierw zainstalować te zależności na maszynie z dostępem do Internetu lub uzyskać moduły zależności za pośrednictwem zatwierdzonej metody dystrybucji oprogramowania w organizacji.
Uruchom następujący skrypt, aby zainstalować wymagane zależności Microsoft Graph PowerShell. program Microsoft Entra PowerShell obsługuje obecnie wersję 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
}
Konfigurowanie lokalnego repozytorium programu PowerShell
Utwórz lokalne repozytorium programu PowerShell, w którym będą przechowywane pakiety modułów programu 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 TrustedSprawdź, czy repozytorium lokalne zostało pomyślnie utworzone:
# Display all registered repositories Get-PSRepositoryPowinny zostać wyświetlone dane wyjściowe podobne do następujących:
Name InstallationPolicy SourceLocation ---- ------------------ -------------- PSGallery Untrusted https://www.powershellgallery.com/api/v2 __LocalGallery__ Trusted C:\LocalPowerShellGallery
Pobieranie i umieszczanie plików nupkg
Pobieranie plików nupkg
Przejdź do strony wydań programu Microsoft Entra PowerShell w witrynie GitHub.
Wybierz wersję, którą chcesz zainstalować (na przykład 1.0.11).
W sekcji Zasoby pobierz wymagane pliki nupkg w zależności od potrzeb:
Tylko w przypadku modułów w wersji 1.0:
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
W przypadku modułów beta: Pobierz odpowiednie
.Beta.pliki nupkg, jeśli potrzebujesz funkcji beta.
Umieszczanie plików w repozytorium lokalnym
Skopiuj wszystkie pobrane pliki nupkg do lokalnego folderu galerii:
# 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
}
Krok 4. Instalowanie modułów programu PowerShell Microsoft Entra
Instalowanie poszczególnych modułów
Moduły można instalować indywidualnie w zależności od konkretnych potrzeb:
# Install a specific module
Install-Module -Name 'Microsoft.Entra.Authentication' -Repository $localGallery -AllowClobber -Verbose
Zainstaluj wszystkie moduły
Aby zainstalować wszystkie dostępne moduły Microsoft Entra, użyj tego skryptu:
# 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
}
Instalowanie modułu głównego (opcjonalnie)
Po zainstalowaniu modułów zależnych można opcjonalnie zainstalować moduł główny:
Install-Module -Name 'Microsoft.Entra' -Repository $localGallery -AllowClobber -Verbose
Weryfikowanie instalacji
Sprawdź, czy moduły zostały pomyślnie zainstalowane:
# Display all installed Microsoft Entra modules
Get-InstalledModule Microsoft.Entra.*
Powinny zostać wyświetlone dane wyjściowe podobne do następujących:
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
Testowanie instalacji
Przetestuj, czy moduły działają poprawnie, łącząc się z 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
Oczyszczanie (opcjonalnie)
Wyrejestrowywanie repozytorium lokalnego
Jeśli repozytorium lokalne nie jest już potrzebne, możesz go wyrejestrować:
# Unregister the local repository
Unregister-PSRepository -Name $localGallery
Write-Host "Local repository '$localGallery' has been unregistered" -ForegroundColor Yellow
Usuwanie lokalnego folderu galerii
Aby całkowicie usunąć galerię lokalną:
# 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
Typowe problemy i rozwiązania
| Problematyka | Przyczyna | Rozwiązanie |
|---|---|---|
| Nie można odnaleźć modułu w repozytorium | Pliki nupkg nie są kopiowane do galerii lokalnej | Sprawdź, czy pliki znajdują się we właściwej ścieżce galerii |
| Zależności nie zostały zainstalowane | Brak modułów programu PowerShell dla programu Graph | Najpierw zainstaluj wymagane moduły programu PowerShell Microsoft Graph |
| Odmowa dostępu | Niewystarczające uprawnienia | Uruchamianie programu PowerShell jako administrator |
| Repozytorium nie jest zaufane | Repozytorium lokalne nie jest oznaczone jako zaufane | Użyj -Force parametru lub ustaw zasady instalacji na wartość Zaufana |
Weryfikowanie zawartości repozytorium lokalnego
Aby zobaczyć, jakie pakiety są dostępne w repozytorium lokalnym:
# List all available packages in the local repository
Find-Module -Repository $localGallery
Sprawdzanie zależności modułu
Aby zrozumieć, jakie zależności wymaga moduł:
# Get module dependencies
Find-Module -Name "Microsoft.Entra.Users" -Repository $localGallery | Select-Object -ExpandProperty Dependencies