Megosztás a következőn keresztül:


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

Fontos

Az Azure Resource Manager (AzureRM) PowerShell-modul összes verziója elavult és nem támogatott. Az Az PowerShell-modul mostantól az Azure és az Azure Stack Hub használatához ajánlott PowerShell-modul. Ez a cikk az Az PowerShell-modul használatának első lépéseit ismerteti. Az PowerShell modulba való migrálásról további információkat a Azure Stack Hub útmutatójában találMigrálás az AzureRM-ből az Azure PowerShell Az-ba. A globális Azure-ban elfogadott Az-modulok megnövekedett funkcióival kapcsolatos részletekért lásd Az Azure Az PowerShell-modulbemutatása című témakört.

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

További információért az AzureStack modulokról, lásd a PSGallery.

Ez a cikk bemutatja, hogyan telepítheti az Azure PowerShell Az és a kompatibilis Azure Stack Hub rendszergazdai modulokat PowerShellGethasználatával. Az Az-modulokat Windows, macOS és Linux platformokra is telepítheti.

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.

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óeltérés kezelését. Az API-verzióprofilok meghatározott API-verziókkal rendelkező Azure Resource Manager PowerShell-modulok 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 hibrid. 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 rendelkező, részben csatlakoztatott vagy leválasztott forgatókönyvekben telepítheti. Ez a cikk végigvezeti az ilyen forgatókönyvek részletes utasításain.

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 összes jelenlegi gyorsjavítás telepítve van. 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óját használják Windows rendszeren, vagy a PowerShell Core 6.x és újabb verzióit minden platformon. Telepítse az operációs rendszerhez elérhető PowerShell Core legújabb verzióját. Az Azure PowerShell nem rendelkezik más követelményekkel a PowerShell Core-on való futtatáskor.

A PowerShell-verzió ellenőrzéséhez futtassa a következő parancsot:

$PSVersionTable.PSVersion

A Windows előfeltételei

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

  1. Szükség esetén frissítsen Windows PowerShell 5.1-. Ha Windows 10-en van, már telepítve van a PowerShell 5.1.

  2. Telepítse .NET-keretrendszer 4.7.2-s 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
    

A Linux és a Mac előfeltételei

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

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:

  • 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 tapasztal, zárja be a modulokat használó PowerShell-munkameneteket, és futtassa újra ezeket a parancsmagokat.

  • Ha a Uninstall-Module nem sikerült, törölje azokat a mappákat a helyekről, amelyek a Azure, az Az, vagy a $env:PSModulePath kezdetűek. Windows PowerShell esetén a helyszínek 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.

Csatlakoztatva: telepítés internetkapcsolattal

Az Azure Stack Az modul a PowerShell 5.1 vagy újabb verziójával működik Windows rendszerű gépen, illetve PowerShell 6.x vagy újabb linuxos vagy macOS platformon. A PowerShellGet-parancsmagok használata az előnyben részesített telepítési módszer. 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 legalább 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. Futtassa a következő parancsokat az Az-modulok telepítéséhez:

    [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
    

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

Internetkapcsolat nélküli 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épen.
  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. Az alábbi kód telepíti az Az-modulokat a megbízható online adattárból:

    [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
    

Jegyzet

Az internetkapcsolattal nem rendelkező gépeken javasoljuk, hogy a telemetria-adatgyűjtés letiltásához futtassa a LetiltásAzDataCollection parancsmagot. Ellenkező esetben előfordulhat, hogy a parancsmagok teljesítménye romlik. Ez csak internetkapcsolattal nem rendelkező gépekre alkalmazható.

Add hozzá csomagjaidat a munkaállomásodhoz

  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 a AzureRM és AzureStack modulokat 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. Az AzureStack modulesL telepítése

    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

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 a következő parancsokat:

    #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
    

Az Az modul használata

Továbbra is használhatja a parancsmagokat és a kódmintákat az AzureRM-modulok alapján. Azonban módosítania kell a modulok és parancsmagok nevét. A modulneveket úgy módosították, hogy az AzureRM és az Azure Azlegyen, és ugyanezek legyenek a parancsmagok esetében is. A AzureRM.Compute modul például Az.Computelett átnevezve. New-AzureRMVM New-AzVM, és Get-AzureStorageBlob most Get-AzStorageBlob.

Az AzureRM szkriptek Az-re való áthelyezéséről, továbbá az Azure Stack Hub Az moduljának kompatibilitástörő változásairól a Az AzureRM-ből az Azure PowerShell Az-re migráláscímű részben talál részletes útmutatót és tájékoztatást.

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üzenet jelenik meg. A hibaüzenet megkezdődik: 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 a rendszergazdai jogosultságokra vonatkozó hibaüzenet jelenik meg

  • Alkalmazható: Ez a probléma 2002-ben és későbbre vonatkozik
  • Ok: Ha rendszergazda jogú parancssorból telepíti a modult, hibaüzenet jelenik meg. A hibaüzenet szerint 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 munkamenet során betöltve a Fiók modul.
  • Előfordulás: Gyakori

A 2020-09-01-hibrid profil használatakor a parancsmag New-AzVmss sikertelen

  • Alkalmazható: Ez a probléma a 2020-09-01 hibrid profilra vonatkozik.
  • Ok: A New-AzVmss parancsmag nem működik a 2020-09-01 hibrid profillal.
  • Javítás: Használjon sablont a virtuális gép skálázási beállítás létrehozásához. Az Azure Stack Hub Resource Manager-sablonokat a GitHub-adattárban AzureStack-QuickStart-Templates/101-vmss-windows-vm, valamint az Azure Stack Hub Resource Manager és Visual Studio Codehasználatával kapcsolatos útmutatást talál.
  • Előfordulás: Gyakori

PowerShell-szkript futtatásakor megjelenő hiba

  • 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 a szkriptjére vagy parancsára, hogy 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át fog jelezni. Vagy ha olyan szkriptet próbál futtatni, amely az AzureRM-modul telepítésekor az Az-parancsokat hívja meg, a szkript hibát fog jelezni.

  • Szervizelés: Távolítsa el az AzureRM-modult, és telepítse az Az modult. Útmutatásért lásd: PowerShell Az modul telepítése az Azure Stack Hubhoz. 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 a 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 történt New-AzADServicePrincipal és New-AzADApplication esetében.

  • Alkalmazható: Azure Stack-környezetek a Microsoft Entra ID-t használva.

  • Ok: Az Azure Active Directory Graph kompatibilitástörő változást vezetett be, amely korlátozza, hogy az Active Directory-alkalmazások IdentifierUri 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 önálló bérlői 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 címtárbérlő aldomainjét képező szolgáltatásnevet kell használnia. Ha például a címtár contoso.onmicrosoft.com, a szolgáltatásnév nevének <foo>.contoso.onmicrosoft.comformájában kell lennie. Használja a következő parancsmagot:

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

      További információ az identitásról és a szolgáltatásnevek Azure Stack Hubbal való használatáról: Az Azure Stack Hubidentitásszolgáltatóinak áttekintése.

    • Hozza létre az érvényes IdentifierUri-val rendelkező Microsoft Entra alkalmazást, majd hozza létre az alkalmazáshoz társított szolgáltatásalanyt a következő parancsmaggal:

      $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 nem sikerült"

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

Következő lépések