PowerShell Az- és Azure Stack-modulok telepítése az Azure Stack Hubhoz

Az Azure Stack Hub verziója AzureStack PowerShell-verzió
2102 2.1.1
2108 2.2.0
2206 2.3.0
2301+ 2.4.0

Az AzureStack-modulokkal kapcsolatos további információkért lásd a PSGalleryt.

Ez a cikk bemutatja, hogyan telepítheti az Azure PowerShell Az és a kompatibilis Azure Stack Hub-rendszergazdai modulokat a PowerShellGet használatával. Az Az-modulok Telepíthetők Windows, macOS és Linux platformokra.

Az Azure Stack Hubhoz készült Az-modulokat egy Docker-tárolóban is futtathatja. Útmutatásért lásd: A Docker használata az Azure Stack Hubhoz készült PowerShell futtatásához.

Ha az Azure Stack Hubhoz készült PowerShell-erőforrásmodulokat (AzureRM) szeretné telepíteni, olvassa el a PowerShell AzureRM-modul telepítése az Azure Stack Hubhoz című témakört.

Fontos

Nem lesznek új Azure Resource Modules-modulkiadások. Az Azure-erőforrásmodulok moduljai csak a kritikus javításokat támogatják. A továbbiakban csak Az-kiadások lesznek az Azure Stack Hubhoz.

API-profilokkal megadhatja az Azure Stack Hub-erőforrás-szolgáltatók kompatibilis végpontjait.

Az API-profilok lehetővé teszik az Azure és az Azure Stack Hub közötti verziókülönbségek kezelését. Az API-verzióprofilok az Azure Resource Manager PowerShell-modulok meghatározott API-verziókkal rendelkező készletei. Minden felhőplatform támogatott API-verzióprofilokat biztosít. Az Azure Stack Hub például egy adott profilverziót támogat, például a 2020-09-01-hybrid verziót. Profil telepítésekor a rendszer telepíti a megadott profilnak megfelelő Azure Resource Manager PowerShell-modulokat.

Az Azure Stack Hub-kompatibilis PowerShell Az-modulokat internetkapcsolattal, részlegesen csatlakoztatott vagy leválasztott forgatókönyvekben telepítheti. Ez a cikk végigvezeti az ilyen forgatókönyvekre vonatkozó részletes utasításokon.

1. Az előfeltételek ellenőrzése

Az Az-modulok támogatottak az Azure Stack Hubon a 2002-s vagy újabb frissítéssel, valamint az aktuális gyorsjavításokkal. További információért tekintse meg az Azure Stack Hub kibocsátási megjegyzéseit .

Az Azure PowerShell Az-modulok a PowerShell 5.1-et vagy újabb verziót használják Windows rendszeren, vagy a PowerShell Core 6.x és újabb verzióit minden platformon. Telepítenie kell az operációs rendszerhez elérhető PowerShell Core legújabb verzióját . Azure PowerShell a PowerShell Core-on való futtatáskor nincs más követelmény.

A PowerShell verziójának megtekintéséhez futtassa az alábbi parancsot:

$PSVersionTable.PSVersion

A Windows előfeltételei

Az Azure PowerShell használata PowerShell 5.1-ben Windows rendszeren:

  1. Frissítsen a Windows PowerShell 5.1-re, ha szükséges. Ha Windows 10 rendszert használ, már telepítve van a PowerShell 5.1.

  2. Telepítse a .NET-keretrendszer 4.7.2-es vagy újabb verzióját.

  3. Győződjön meg arról, hogy a PowerShellGet legújabb verziójával rendelkezik. Futtassa a következő parancsmagokat egy emelt szintű parancssorból:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    powershell -noprofile
    $PSVersionTable
    Uninstall-Module PowershellGet -AllVersions -Force -Confirm:$false
    Get-module PowershellGet
    Find-module PowershellGet
    Install-Module PowershellGet -MinimumVersion 2.2.3 -Force
    

2. Előfeltételek Linuxhoz és Machez

PowerShell Core 6.x vagy újabb verzióra van szükség. Útmutatásért kövesse a hivatkozást

3. Az Azure Stack Hub PowerShell-modulok meglévő verzióinak eltávolítása

A szükséges verzió telepítése előtt távolítsa el a korábban telepített Azure Stack Hub Azure Resource Manager- vagy Az PowerShell-modulokat. Távolítsa el a modulokat az alábbi két módszer egyikével:

  1. A meglévő Azure Resource Manager- és Az PowerShell-modulok eltávolításához zárja be az összes aktív PowerShell-munkamenetet, és futtassa a következő parancsmagokat:

    Get-Module -Name Azure* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    Get-Module -Name Azs.* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    Get-Module -Name Az.* -ListAvailable | Uninstall-Module -Force -Verbose -ErrorAction Continue
    

    Ha "A modul már használatban van" hibaüzenetet kapja, zárja be a modulokat használó PowerShell-munkameneteket, és futtassa újra a fenti szkriptet.

  2. Ha a Uninstall-Module nem sikerült, törölje az összes mappát, amely a következővel Azurekezdődik: , Az, vagy Azs. a $env:PSModulePath helyekről. A Windows PowerShell esetében a helyek lehetnek C:\Program Files\WindowsPowerShell\Modules és C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules. A PowerShell Core esetében a helyek lehetnek C:\Program Files\PowerShell\7\Modules és C:\Users\{yourusername}\Documents\PowerShell\Modules. A mappák törlése eltávolítja a meglévő Azure PowerShell modulokat.

4. Csatlakoztatva: Telepítés internetkapcsolattal

Az Azure Stack Az modul a PowerShell 5.1-es vagy újabb verziójával fog működni Windows rendszerű gépen, illetve PowerShell 6.x vagy újabb linuxos vagy macOS platformon. Az előnyben részesített telepítési módszer a PowerShellGet-parancsmagok használata. Ez a módszer ugyanúgy működik a támogatott platformokon.

  1. Futtassa a következő parancsot egy PowerShell-munkamenetből a PowerShellGet minimális 2.2.3-as verzióra való frissítéséhez

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
    
  2. Zárja be a PowerShell-munkamenetet, majd nyisson meg egy új PowerShell-munkamenetet, hogy a frissítés érvénybe lépjen.

  3. Az Az-modulok telepítéséhez futtassa az alábbiakat.

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Install-Module -Name Az.BootStrapper -Force
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    
  4. Telepítse az AzureStack PowerShell-modulokat.

    Install-Module -Name AzureStack -RequiredVersion 2.4.0
    
    Install-Module -Name AzureStack -RequiredVersion 2.3.0
    
    Install-Module -Name AzureStack -RequiredVersion 2.2.0
    
    Install-Module -Name AzureStack -RequiredVersion 2.1.1
    

Figyelmeztetés

A Windows PowerShell 5.1-hez nem telepíthető egyszerre az Azure Resource Manager (AzureRM) és az Az modul is. Ha elérhetővé kell tenni az Azure Resource Manager a rendszeren, telepítse a PowerShell Core 6.x vagy újabb verziójához készült Az modult. Ehhez telepítse a PowerShell Core 6.x vagy újabb verzióját, majd kövesse ezeket az utasításokat egy PowerShell Core-terminálban.

5. Leválasztva: Telepítés internetkapcsolat nélkül

Leválasztott forgatókönyv esetén először letölti a PowerShell-modulokat egy internetkapcsolattal rendelkező gépre. Ezután át kell vinnie őket az Azure Stack Fejlesztői Készletbe (ASDK) a telepítéshez.

Jelentkezzen be egy internetkapcsolattal rendelkező számítógépre, és az alábbi szkriptekkel töltse le az Azure Resource Manager és az Azure Stack Hub csomagokat az Azure Stack Hub verziójától függően.

A telepítés öt lépésből áll:

  1. Telepítse az Azure Stack Hub PowerShellt egy csatlakoztatott gépre.
  2. További tárolási funkciók engedélyezése.
  3. A PowerShell-csomagok átvitele a leválasztott munkaállomásra.
  4. Manuálisan indítsa el a NuGet-szolgáltatót a leválasztott munkaállomáson.
  5. Ellenőrizze a PowerShell telepítését.

Az Azure Stack Hub PowerShell telepítése

  1. Használhatja az AzureRM-et vagy az Az-modulokat . Az alábbi kód menti az Az-modulokat a megbízható online adattárból https://www.powershellgallery.com/.

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    Install-module -Name PowerShellGet -MinimumVersion 2.2.3 -Force
    Import-Module -Name PackageManagement -ErrorAction Stop
    $savedModulesPath = "<Path that is used to save the packages>"
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name Az -Path $savedModulesPath -Force -RequiredVersion 2.0.1
    
  2. Az Az-modulok telepítése után folytassa az AzureStack-modulok telepítésével.

    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.4.0
    
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.3.0
    
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.2.0
    
    Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $savedModulesPath -Force -RequiredVersion 2.1.1
    

Megjegyzés

Internetkapcsolattal nem rendelkező gépeken javasoljuk, hogy hajtsa végre az alábbi parancsmagot a telemetriai adatgyűjtés letiltására. Előfordulhat, hogy a parancsmagok teljesítménycsökkenését tapasztalja a telemetriai adatgyűjtés letiltása nélkül. Ez csak az internetkapcsolattal nem rendelkező gépekre vonatkozik

Disable-AzDataCollection

Csomagok hozzáadása a munkaállomáshoz

  1. Másolja a letöltött csomagokat egy USB-eszközre.

  2. Jelentkezzen be a leválasztott munkaállomásra, és másolja a csomagokat az USB-eszközről a munkaállomás egy helyére.

  3. Manuálisan indítsa el a NuGet-szolgáltatót a leválasztott munkaállomáson. Útmutatásért lásd: A NuGet-szolgáltató manuális indítása olyan gépen, amely nem csatlakozik az internethez.

  4. Regisztrálja ezt a helyet alapértelmezett adattárként, és telepítse az AzureRM és AzureStack modulokat ebből az adattárból:

     # requires -Version 5
     # requires -RunAsAdministrator
     # requires -Module PowerShellGet
     # requires -Module PackageManagement
    
     $SourceLocation = "<Location on the development kit that contains the PowerShell packages>"
     $RepoName = "MyNuGetSource"
     [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
     Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
  5. Telepítse az Az-modulokat.

     Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
    
  6. Telepítse az AzureStack-modulokat.

    Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.4.0 -Scope AllUsers
    
    Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.3.0 -Scope AllUsers
    
    Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.2.0 -Scope AllUsers
    
    Install-Module -Name AzureStack -Repository $RepoName -RequiredVersion 2.1.1 -Scope AllUsers
    

A PowerShell telepítésének megerősítése

A telepítés megerősítéséhez futtassa a következő parancsot:

Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable

6. A PowerShell konfigurálása proxykiszolgáló használatára

Azokban az esetekben, amelyekhez proxykiszolgálóra van szükség az internethez való hozzáféréshez, először konfigurálja a PowerShellt egy meglévő proxykiszolgáló használatára:

  1. Nyisson meg egy emelt szintű PowerShell-parancssort.

  2. Futtassa az alábbi parancsot:

    #To use Windows credentials for proxy authentication
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultCredentials
    
    #Alternatively, to prompt for separate credentials that can be used for #proxy authentication
    [System.Net.WebRequest]::DefaultWebProxy.Credentials = Get-Credential
    

7. Az Az modul használata

Az AzureRM-modulokon alapuló parancsmagokat és kódmintákat használhatja. Azonban módosítania kell a modulok és parancsmagok nevét. A modulnevek módosultak, így az AzureRM Azure -ból Azlett , és ugyanezek a parancsmagok esetében is. Az AzureRM.Compute modul új neve például Az.Compute.A New-AzureRMVM New-AzVM lett, a Get-AzureStorageBlob pedig Get-AzStorageBlob.

Az AzurRM-szkript az Az-ba való áthelyezéséről és az Azure Stack Hub Az moduljának kompatibilitástörő változásairól részletesebben lásd: Migrálás az AzureRM-ből Azure PowerShell Az-be.

Ismert problémák

Hiba történt az Az-modulok telepítésekor

  • Alkalmazható: Ez a probléma 2002-ben és későbbre vonatkozik
  • Ok: A modul telepítésekor hiba történik. Ekkor megkezdődik a hibaüzenet: Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'. Vagy a hibaüzenet a következő szöveget tartalmazhatja: PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
  • Szervizelés: Futtassa a következő parancsmagot ugyanabban a munkamenetben:
    Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
    Zárja be a munkamenetet, és indítson el egy új emelt szintű PowerShell-munkamenetet.
  • Előfordulás: Gyakori

Az Az-modul telepítésekor tévesen Rendszergazda szükséges jogosultságokkal kapcsolatos hiba jelenik meg

  • Alkalmazható: Ez a probléma 2002-ben és későbbre vonatkozik
  • Ok: Ha emelt szintű parancssorból telepíti a modult, hibaüzenet jelenik meg. A hiba a következő: Administrator rights required.
  • Szervizelés: Zárja be a munkamenetet, és indítson el egy új emelt szintű PowerShell-munkamenetet. Győződjön meg arról, hogy nincs meglévő Az. A munkamenetbe betöltött Fiókok modul.
  • Előfordulás: Gyakori

A 2020-09-01 hibrid profil használatakor a parancsmag New-AzVmss meghiúsul

  • Alkalmazható: Ez a probléma a 2020-09-01-hybrid profilra vonatkozik.
  • Ok: A New-AzVmss parancsmag nem működik a 2020-09-01-hybrid profillal.
  • Szervizelés: Használjon sablont a virtuálisgép-méretezési csoport létrehozásához. Az Azure Stack Hub Resource Manager sablonjait az AzureStack-QuickStart-Templates/101-vmss-windows-vm GitHub-adattárban találja, és útmutatást talál az Azure Stack Hub erőforrás-kezelőinek a Visual Studio Code-tal való használatához.
  • Előfordulás: Gyakori

Hiba történt PowerShell-szkript futtatásakor

  • Alkalmazható: Ez a probléma 2002-ben és későbbre vonatkozik.

  • Ok: Ha szkripteket vagy PowerShell-parancsokat futtat az Azure Stack Hub adott moduljaival, szüksége lesz arra, hogy a szkript vagy a parancs elérhető legyen a modulban. A következő hibaüzenet jelenhet meg:

    Method 'get_SerializationSettings' in type 'Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient' from assembly 'Microsoft.Azure.Commands.ResourceManager.Common, Version=4.0.0.0, 
    Culture=neutral, PublicKeyToken=31bf3856ad364e35' does not have an implementation.
    

    Az aktuális modul a PowerShell Az modul, amely felváltotta a PowerShell AzureRM modult. Ha olyan szkriptet próbál futtatni, amely AzureRM-parancsokat hív meg az Az modul telepítésekor, a szkript hibákat fog jelezni. Vagy ha olyan szkriptet próbál futtatni, amely Az-parancsokat hív meg az AzureRM-modul telepítésekor, a szkript hibákat fog jelezni.

  • Szervizelés: Távolítsa el az AzureRM-modult, és telepítse az Az modult. Útmutatásért lásd: Az Azure Stack Hubhoz készült PowerShell Az modul telepítése. Ha az Azure Stack Hub Toolst használja, használja az Az-eszközöket. Klónozza az eszközök adattárát az az ágból, vagy töltse le az AzureStack-Tools az az ágból. Útmutatásért lásd: Azure Stack Hub-eszközök letöltése a GitHubról

  • Előfordulás: Gyakori

Hiba New-AzADServicePrincipal és New-AzADApplication

  • Alkalmazható: Azure Stack-környezetek Microsoft Entra ID használatával.

  • Ok: Az Azure Active Directory Graph kompatibilitástörő változást vezetett be, amely korlátozza, hogy az IdentifierUri Active Directory-alkalmazások egy ellenőrzött tartomány altartományai legyenek a címtárban. A módosítás előtt ezt a korlátozást csak a több-bérlős alkalmazásokra kényszerítették. Ez a korlátozás mostantól az egybérlős alkalmazásokra is vonatkozik. A módosítás a következő hibát eredményezi: Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running.

  • Szervizelés: Ezt a korlátozást kétféleképpen megkerülheti.

    • A szolgáltatásnév a címtárbérlő altartománya. Ha például a könyvtár , contoso.onmicrosoft.coma szolgáltatásnévnek a következő formában <foo>.contoso.onmicrosoft.comkell lennie: . Használja a következő parancsmagot:

      New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
      

      Az identitással és a szolgáltatásnevek Azure Stack Hubbal való használatával kapcsolatos további információkért lásd: Az Azure Stack Hub identitásszolgáltatóinak áttekintése.

    • Hozza létre a Microsoft Entra alkalmazást, amely érvényesIdentifierUri, majd hozza létre a szolgáltatásnevet az alkalmazás társításával a következő parancsmag használatával:

      $app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Előfordulás: Gyakori

Hiba: "A SharedTokenCacheCredential hitelesítés sikertelen"

  • Alkalmazható: Ez a probléma az összes támogatott kiadásra vonatkozik.
  • Ok: A SharedTokenCacheCredential hitelesítési hiba akkor jelenik meg, ha az AzAccounts több verziója is telepítve van az Azure Stack Hub PowerShell-modul 2.1.1-es verziójával.
  • Szervizelés: Távolítsa el az AzAccounts összes verzióját, és csak a támogatott AzAccounts 2.2.8-es verzióját telepítse.
  • Előfordulás: Gyakori

Következő lépések