Az Azure Stack Hubhoz készült PowerShell AzureRM-modul telepítése

Azure PowerShell Azure Resource Manager (AzureRM) olyan parancsmagokat biztosít, amelyek az Azure Resource Manager modellt használják az Azure Stack Hub-erőforrások kezeléséhez.

Fontos

Elérte az Azure Stack Hub PowerShell elavult verziójának weblapját. Az Azure Resource Manager (AzureRM) PowerShell-modul minden verziója elavult és nem támogatott. Az AzureRM-modulok a jövőbeni Azure Stack Hub-buildekben már nem frissülnek. Az az modulokat a 2002-s és újabb buildekhez kell használni. A 2020-09-01-hibrid profil nem támogatott az AzureRM-modulokhoz.

Az Az PowerShell-modul mostantól az Azure-ral és az Azure Stack Hubbal való kommunikációhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez lásd: Az Azure Stack Hubhoz készült PowerShell Az előzetes verziós modul telepítése. Megtudhatja, hogyan migrálhat az Az PowerShell-modulba. Lásd: Migrálás az AzureRM-ből Azure PowerShell Az-be az Azure Stack Hubban. A globális Azure-ban elfogadott Az-modulok fokozott funkcióiról az Azure Az PowerShell-modul bemutatása című témakörben olvashat bővebben.

Api-profilokkal is meg kell adnia 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 2019-03-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-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.

Az Azure Stack Hubhoz készült Azure Resource Manager-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.

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

Az Azure Stack Hub és a PowerShell Azure Resource Manager modul használatának megkezdése előtt a következő előfeltételekkel kell rendelkeznie:

  • PowerShell 5.1-es verzió
    A verzió ellenőrzéséhez futtassa a $PSVersionTable.PSVersion parancsot, és hasonlítsa össze a főverziót . Ha nem rendelkezik PowerShell 5.1-et, kövesse a Telepítés Windows PowerShell című témakört.

    Megjegyzés

    A PowerShell 5.1 használatához Windows rendszerű gép szükséges.

  • Futtassa a PowerShellt egy emelt szintű parancssorban.

  • PowerShell-galéria hozzáférés
    Hozzáférésre van szüksége a PowerShell-galéria. A gyűjtemény a PowerShell-tartalmak központi adattára. A PowerShellGet modul a PowerShell-összetevők felderítésére, telepítésére, frissítésére és közzétételére szolgáló parancsmagokat tartalmaz. Ilyen összetevők például a modulok, a DSC-erőforrások, a szerepkör-képességek és a PowerShell-galéria és más magánadattárak szkriptjei. Ha leválasztott forgatókönyvben használja a PowerShellt, le kell kérnie az erőforrásokat egy internetkapcsolattal rendelkező gépről, és azokat a leválasztott gép számára elérhető helyen kell tárolnia.

Ellenőrizze, hogy a PSGallery adattárként van-e regisztrálva.

Megjegyzés

Ehhez a lépéshez internet-hozzáférés szükséges.

Nyisson meg egy emelt szintű PowerShell-parancssort, és futtassa a következő parancsmagokat:

Install-module -Name PowerShellGet -Force
Import-Module -Name PackageManagement -ErrorAction Stop
Get-PSRepository -Name "PSGallery"

Ha az adattár nincs regisztrálva, nyisson meg egy emelt szintű PowerShell-munkamenetet, és futtassa a következő parancsot:

Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted

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 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. Törölje az összes mappát, amely a következővel Azurekezdődik: , Az vagy Azs. a és C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules a C:\Program Files\WindowsPowerShell\Modules mappából. A mappák törlése eltávolítja a meglévő PowerShell-modulokat.

4. Csatlakoztatva: Az Azure Stack Hubhoz készült PowerShell telepítése internetkapcsolattal

Az API-verzióprofil és a szükséges Azure Stack Hub PowerShell-modulok a futó Azure Stack Hub verziójától függnek.

Az Azure Stack Hub PowerShell telepítése

A következő PowerShell-szkript futtatásával telepítse ezeket a modulokat a fejlesztői munkaállomásra:

Az Azure Stack Hub 2002-ben vagy újabb verzióiban:

Használhat felhasználói AzureRm-modulokat vagy az Az előzetes verziójú modulokat. Az Az-modulok használatához az Azure Stack Hub 2002 vagy újabb verziója szükséges.

Az előzetes verziójú modulok használatához kövesse a PowerShell Az modul telepítése című témakör utasításait.

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.8.3 

Az Azure Stack Hub 1910 esetén:

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.8.0

Megjegyzés

  • Az Azure Stack Hub 1.8.0-s modulverziója egy kompatibilitástörő változáskiadás. A részletekért tekintse meg a kibocsátási megjegyzést .

Az Azure Stack Hub 1908-ban vagy korábbi verzióiban:

# Install the AzureRM.BootStrapper module. Select Yes when prompted to install NuGet
Install-Module -Name AzureRM.BootStrapper

# Install and import the API Version Profile required by Azure Stack Hub into the current PowerShell session.
Use-AzureRmProfile -Profile 2019-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.7.2

Megjegyzés

Az Azure Stack Hub modul 1.7.2-es verziója egy kompatibilitástörő változáskiadás. Az Azure Stack Hub 1.6.0-s verzióról való migráláshoz tekintse meg az áttelepítési útmutatót.

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 "Azure*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable

Ha a telepítés sikeres, a és AzureStack a AzureRm modulok megjelennek a kimenetben.

5. Leválasztva: A PowerShell telepítése 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

Azure Stack Hub 2002 vagy újabb.

Használhatja az Azure Resource Manager vagy az az előzetes verziójú modulokat. Az modulokért lásd a PowerShell Az-modul telepítésére vonatkozó utasításokat.


Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.3

Azure Stack Hub 1910.

Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.0

Megjegyzés

Az Azure Stack Hub 1.8.0-s modulverziója egy kompatibilitástörő változáskiadás. A részletekért tekintse meg a kibocsátási megjegyzést .

Az Azure Stack Hub 1908-ban vagy korábbi verzióiban:

Install-module -Name PowerShellGet -Force 
Import-Module -Name PackageManagement -ErrorAction Stop

$Path = "<Path that is used to save the packages>"
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0
Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.7.2

Megjegyzés

Az Azure Stack Hub 1.7.1-es modulverziója kompatibilitástörő változás. Az Azure Stack Hub 1.6.0-s verzióról való migráláshoz tekintse meg az áttelepítési útmutatót.

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-AzureRmDataCollection

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 rendszerindí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 Azure Resource Manager é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"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    Install-Module -Name AzureRM -Repository $RepoName
    
    Install-Module -Name AzureStack -Repository $RepoName
    

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

Erősítse meg a telepítést a következő parancs futtatásával:

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

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

Azokban az esetekben, amikor 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
    

Ismert probléma

Get_SerializationSettings metódus hibája

  • Ok: A PowerShell Az modul és a PowerShell Azure Resource Manager-modulok nem kompatibilisek.

    A következő hiba azt jelzi, hogy az Azure Resource Manager-modulok és az Az-modulok ugyanabban a munkamenetben töltődnek be:

    >  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.
    
  • Szervizelés: Távolítsa el az ütköző modulokat.

    Ha az Azure Resource Manager modulokat szeretné használni, távolítsa el az Az modulokat. Vagy távolítsa el az Azure Resource Manager, ha az Az-modulokat szeretné használni. Zárja be a PowerShell-munkamenetet, és távolítsa el az Az vagy az Azure Resource Manager modult.

    Útmutatást az Azure Stack Hub PowerShell-modulok meglévő verzióinak eltávolítása című témakörben talál.

Hiba történt a NewAzureRMADServicePrincipal és a NewAzureRMAdApplication hiba miatt

  • 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.

    • Olyan egyszerű szolgáltatásnevet kell használnia, amely 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:

      NewAzureRMADServicePrincipal -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=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Előfordulás: Gyakori

Következő lépések