Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В средах с ограниченным доступом к Интернету может потребоваться установить Microsoft Entra модули PowerShell в автономном режиме. В этой статье объясняется, как настроить и установить модули с помощью скачанных файлов пакетов и локального репозитория.
Автономная установка полезна в таких сценариях, как:
- Физически изолированные сети без доступа к Интернету
- Организации с строгими политиками безопасности, ограничивающими доступ к Интернету
- Среды, в которых недоступен прямой доступ к коллекция PowerShell
Prerequisites
Прежде чем начать, убедитесь, что у вас есть следующее:
- PowerShell 5.1 или более поздней версии (рекомендуется PowerShell 7+
- Права администратора на целевом компьютере
- Доступ к месту загрузки при наличии подключения к Интернету для загрузки необходимых файлов
- Подписанные файлы nupkg со страницы выпусков Microsoft Entra PowerShell.
Обзор процесса автономной установки
Процесс автономной установки включает следующие основные действия.
- Установите зависимости Microsoft Graph PowerShell
- Настройка локального репозитория PowerShell
- Скачивание и размещение файлов nupkg в локальном репозитории
- Установка модулей Microsoft Entra из локального репозитория
Установите зависимости Microsoft Graph PowerShell
Модули PowerShell для Microsoft Entra зависят от определённых модулей PowerShell Microsoft Graph. Эти зависимости устанавливаются автоматически при установке из коллекция PowerShell, но в автономных сценариях их необходимо установить вручную.
Important
Эти зависимости необходимо сначала установить на компьютере с доступом к Интернету или получить модули зависимостей с помощью утвержденного метода распространения программного обеспечения вашей организации.
Выполните следующий скрипт, чтобы установить необходимые зависимости Microsoft Graph для PowerShell. Microsoft Entra PowerShell в настоящее время поддерживает версию 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
}
Настройка локального репозитория PowerShell
Создайте локальный репозиторий PowerShell, в котором будут храниться пакеты модулей PowerShell Microsoft Entra.
# 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Убедитесь, что локальный репозиторий был успешно создан:
# Display all registered repositories Get-PSRepositoryВыходные данные должны выглядеть примерно так:
Name InstallationPolicy SourceLocation ---- ------------------ -------------- PSGallery Untrusted https://www.powershellgallery.com/api/v2 __LocalGallery__ Trusted C:\LocalPowerShellGallery
Скачивание и размещение файлов nupkg
Скачивание файлов nupkg
Перейдите на страницу выпусков PowerShell Microsoft Entra на GitHub.
Выберите версию, которую вы хотите установить (например, версии 1.0.11).
В разделе Assets скачайте необходимые файлы nupkg в соответствии с вашими потребностями:
Только для модулей версии 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
Для бета-модулей: Скачайте соответствующие
.Beta.файлы nupkg, если вам нужна бета-версия.
Размещение файлов в локальном репозитории
Скопируйте все скачанные файлы nupkg в локальную папку коллекции:
# 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. Установка модулей PowerShell Microsoft Entra
Установка отдельных модулей
Модули можно устанавливать по отдельности в зависимости от ваших потребностей:
# Install a specific module
Install-Module -Name 'Microsoft.Entra.Authentication' -Repository $localGallery -AllowClobber -Verbose
Установка всех модулей
Чтобы установить все доступные модули Microsoft Entra, используйте следующий сценарий:
# 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
}
Установка корневого модуля (необязательно)
После установки зависимых модулей можно при необходимости установить корневой модуль:
Install-Module -Name 'Microsoft.Entra' -Repository $localGallery -AllowClobber -Verbose
Проверка установки
Убедитесь, что модули были успешно установлены:
# Display all installed Microsoft Entra modules
Get-InstalledModule Microsoft.Entra.*
Выходные данные должны выглядеть примерно так:
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
Проверка установки
Проверьте, правильно ли работают модули, подключившись к 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
Очистка (необязательно)
Отмена регистрации локального репозитория
Если локальный репозиторий больше не нужен, его можно отменить.
# Unregister the local repository
Unregister-PSRepository -Name $localGallery
Write-Host "Local repository '$localGallery' has been unregistered" -ForegroundColor Yellow
Удаление папки локальной коллекции
Чтобы полностью удалить локальную коллекцию, выполните следующие действия.
# 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
Распространенные проблемы и решения
| Issue | Причина | Solution |
|---|---|---|
| Модуль не найден в репозитории | файлы nupkg, не скопированные в локальную галерею | Убедитесь, что файлы находятся по правильному пути к галерее |
| Зависимости не установлены | Отсутствующие модули PowerShell для Graph | Сначала установите необходимые модули PowerShell Microsoft Graph |
| Доступ запрещен | Недостаточно разрешений | Запуск PowerShell от имени администратора |
| Репозиторий не является доверенным | Локальный репозиторий не помечен как доверенный | Используйте параметр -Force или установите для политики установки значение "Trusted" |
Проверка содержимого локального репозитория
Чтобы узнать, какие пакеты доступны в локальном репозитории:
# List all available packages in the local repository
Find-Module -Repository $localGallery
Проверка зависимостей модуля
Чтобы понять, какие зависимости нужны модулю:
# Get module dependencies
Find-Module -Name "Microsoft.Entra.Users" -Repository $localGallery | Select-Object -ExpandProperty Dependencies