Microsoft Entra PowerShell'i çevrimdışı yükleme

İnternet erişimi kısıtlanmış ortamlarda, Microsoft Entra PowerShell modüllerini çevrimdışı yüklemeniz gerekebilir. Bu makalede, indirilen paket dosyalarını ve yerel bir depoyu kullanarak modüllerin nasıl ayarlanacağı ve yükleneceği açıklanmaktadır.

Çevrimdışı yükleme aşağıdaki gibi senaryolarda kullanışlıdır:

  • İnternet bağlantısı olmayan havayla kaplı ağlar
  • İnternet erişimini kısıtlayan katı güvenlik ilkelerine sahip kuruluşlar
  • Doğrudan PowerShell Galerisi erişiminin kullanılamadığı ortamlar

Prerequisites

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • PowerShell 5.1 veya üzeri (PowerShell 7+ önerilir)
  • Hedef makinede yönetim ayrıcalıkları
  • Gerekli dosyaları indirmek için İnternet bağlantısı ile indirme konumuna erişim
  • Microsoft Entra PowerShell sürümleri sayfasındanimzalı nupkg dosyaları.

Çevrimdışı yükleme işlemine genel bakış

Çevrimdışı yükleme işlemi aşağıdaki ana adımları içerir:

  1. Microsoft Graph PowerShell bağımlılıklarını yükleme
  2. Yerel PowerShell deposu ayarlama
  3. Nupkg dosyalarını indirme ve yerel depoya yerleştirme
  4. Yerel depodan Microsoft Entra modülleri yükleme

Microsoft Graph PowerShell bağımlılıklarını yükleme

Microsoft Entra PowerShell modülleri belirli Microsoft Graph PowerShell modüllerine bağlıdır. Bu bağımlılıklar PowerShell Galerisi yüklenirken otomatik olarak yüklenir, ancak çevrimdışı senaryolarda bunları el ile yüklemeniz gerekir.

Important

Bu bağımlılıkları önce İnternet erişimi olan bir makineye yüklemeniz veya kuruluşunuzun onaylı yazılım dağıtım yöntemi aracılığıyla bağımlılık modüllerini almanız gerekir.

Gerekli Microsoft Graph PowerShell bağımlılıklarını yüklemek için aşağıdaki betiği çalıştırın. Microsoft Entra PowerShell şu anda 2.25.0 sürümünü desteklemektedir.

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

Yerel PowerShell deposu ayarlama

  1. Microsoft Entra PowerShell modül paketlerini depoladığınız yerel bir PowerShell deposu oluşturun.

    # 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. Yerel deponun başarıyla oluşturulduğunu doğrulayın:

    # Display all registered repositories
    Get-PSRepository
    

    Aşağıdakine benzer bir çıktı görmeniz gerekir:

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

Nupkg dosyalarını indirme ve yerleştirme

Nupkg dosyalarını indirme

  1. GitHub Microsoft Entra PowerShell sürümleri sayfasına gidin.

  2. Yüklemek istediğiniz sürümü seçin (örneğin, v1.0.11).

  3. Varlıklar bölümünde, gereksinimlerinize göre gerekli nupkg dosyalarını indirin:

    Yalnızca v1.0 modülleri için:

    • 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

    Beta modülleri için: Beta işlevselliğine ihtiyacınız varsa ilgili .Beta. nupkg dosyalarını indirin.

Dosyaları yerel depoya yerleştirme

İndirilen tüm nupkg dosyalarını yerel galeri klasörünüze kopyalayın:

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

4. Adım: Microsoft Entra PowerShell modüllerini yükleme

Modülleri tek tek yükleme

Modülleri kendi ihtiyaçlarınıza göre tek tek yükleyebilirsiniz:

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

Tüm modülleri yükleme

Kullanılabilir tüm Microsoft Entra modüllerini yüklemek için şu betiği kullanın:

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

Kök modülü yükleme (isteğe bağlı)

Bağımlı modülleri yükledikten sonra isteğe bağlı olarak kök modülü yükleyebilirsiniz:

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

Yüklemeyi doğrulama

Modüllerin başarıyla yüklendiğini doğrulayın:

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

Aşağıdakine benzer bir çıktı görmeniz gerekir:

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

Yüklemeyi test edin

Microsoft Entra bağlanarak modüllerin düzgün çalışıp çalışmadığını test edin:

# 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

Temizleme (isteğe bağlı)

Yerel deponun kaydını kaldırma

Artık yerel depoya ihtiyacınız yoksa kaydını kaldırabilirsiniz:

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

Yerel galeriyi tamamen kaldırmak için:

# 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

Yaygın sorunlar ve çözümler

Issue Cause Çözüm
Modül depoda bulunamadı nupkg dosyaları yerel galeriye kopyalanmaz Dosyaların doğru galeri yolunda olduğunu doğrulayın
Bağımlılıklar yüklü değil Graph PowerShell modülleri eksik Önce gerekli Microsoft Graph PowerShell modüllerini yükleyin
Erişim reddedildi Yetersiz izinler PowerShell'i Yönetici olarak çalıştırma
Depo güvenilir değil Yerel depo güvenilir olarak işaretlenmedi -Force parametresini kullanın veya yükleme ilkesini Güvenilir olarak ayarlayın

Yerel depo içeriğini doğrulama

Yerel deponuzda hangi paketlerin kullanılabilir olduğunu görmek için:

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

Modül bağımlılıklarını denetleme

Bir modülün hangi bağımlılıkları gerektirdiğini anlamak için:

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

Sonraki Adımlar