Instalace modulů Az PowerShellu a Azure Stack pro Azure Stack Hub
Verze služby Azure Stack Hub | Verze AzureStack PowerShellu |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
Další informace o modulech AzureStack najdete v tématu PSGallery.
Tento článek vysvětluje, jak nainstalovat moduly Azure PowerShell Az a kompatibilní moduly správce služby Azure Stack Hub pomocí modulu PowerShellGet. Moduly Az je možné nainstalovat na platformách Windows, macOS a Linux.
Moduly Az pro Azure Stack Hub můžete také spouštět v kontejneru Dockeru. Pokyny najdete v tématu Použití Dockeru ke spuštění PowerShellu pro Azure Stack Hub.
Pokud chcete nainstalovat modul PowerShell Resource Modules (AzureRM) pro službu Azure Stack Hub, přečtěte si téma Instalace modulu PowerShell AzureRM pro Službu Azure Stack Hub.
Důležité
Moduly Azure Resource Nebudou k dispozici nové verze. Moduly prostředků Azure podporují pouze důležité opravy. Do budoucna budou k dispozici pouze verze Az pro Službu Stack Hub.
Profily rozhraní API můžete použít k určení kompatibilních koncových bodů pro poskytovatele prostředků služby Azure Stack Hub.
Profily rozhraní API poskytují způsob, jak spravovat rozdíly ve verzích mezi Azure a službou Azure Stack Hub. Profil verze rozhraní API je sada modulů Azure Resource Manager PowerShellu s konkrétními verzemi rozhraní API. Každá cloudová platforma má sadu podporovaných profilů verzí rozhraní API. Azure Stack Hub například podporuje konkrétní verzi profilu, například 2020-09-01-hybrid. Při instalaci profilu se nainstalují moduly Azure Resource Manager PowerShellu, které odpovídají zadanému profilu.
Moduly PowerShellu kompatibilní se službou Azure Stack Hub můžete nainstalovat ve scénářích připojených k internetu, částečně připojených nebo odpojených. Tento článek vás provede podrobnými pokyny pro tyto scénáře.
1. Ověření požadavků
Moduly Az se podporují ve službě Azure Stack Hub s aktualizací Update 2002 nebo novější a s aktuálními nainstalovanými opravami hotfix. Další informace najdete ve zprávě k vydání verze služby Azure Stack Hub .
Moduly az Azure PowerShell fungují s PowerShellem 5.1 nebo novějším ve Windows nebo s PowerShellem Core 6.x a novějším na všech platformách. Měli byste si nainstalovat nejnovější verzi PowerShellu Core dostupnou pro váš operační systém. Azure PowerShell při spuštění v PowerShellu Core nemá žádné další požadavky.
Pokud chcete zkontrolovat verzi PowerShellu, spusťte následující příkaz:
$PSVersionTable.PSVersion
Požadavky pro Windows
Použití Azure PowerShellu v PowerShellu 5.1 ve Windows:
V případě potřeby proveďte aktualizaci na Windows PowerShell 5.1. Pokud používáte Windows 10, máte už PowerShell 5.1 nainstalovaný.
Nainstalujte si rozhraní .NET Framework 4.7.2 nebo novější.
Ujistěte se, že máte nejnovější verzi modulu PowerShellGet. Na příkazovém řádku se zvýšenými oprávněními spusťte následující rutiny:
[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. Požadavky pro Linux a Mac
Vyžaduje se PowerShell Core 6.x nebo novější verze. Pokyny najdete na odkazu .
3. Odinstalace existujících verzí modulů PowerShellu pro Azure Stack Hub
Před instalací požadované verze se ujistěte, že jste odinstalovali všechny dříve nainstalované moduly Azure Stack Hub Azure Resource Manager nebo Az PowerShell. Odinstalujte moduly pomocí jedné z následujících dvou metod:
Pokud chcete odinstalovat existující moduly Azure Resource Manager a Az PowerShell, zavřete všechny aktivní relace PowerShellu a spusťte následující rutiny:
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
Pokud dojde k chybě typu Modul se už používá, zavřete relace PowerShellu, které moduly používají, a spusťte výše uvedený skript znovu.
Pokud se Uninstall-Module nepovede, odstraňte všechny složky, které začínají
Azure
na ,Az
neboAzs.
z umístění $env:PSModulePath. Umístění Windows PowerShell můžou býtC:\Program Files\WindowsPowerShell\Modules
aC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. V případě PowerShellu Core můžou býtC:\Program Files\PowerShell\7\Modules
umístění aC:\Users\{yourusername}\Documents\PowerShell\Modules
. Odstraněním těchto složek odeberete všechny existující moduly Azure PowerShell.
4. Připojeno: Instalace s připojením k internetu
Modul Azure Stack Az bude fungovat s PowerShellem 5.1 nebo vyšším na počítači s Windows nebo s PowerShellem 6.x nebo novějším na platformě Linux nebo macOS. Upřednostňovanou metodou instalace je použití rutin PowerShellGet. Tato metoda funguje stejně na podporovaných platformách.
Spuštěním následujícího příkazu z relace PowerShellu aktualizujte modul PowerShellGet na minimálně verzi 2.2.3.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Zavřete relaci PowerShellu a pak otevřete novou relaci PowerShellu, aby se aktualizace projevila.
Spuštěním následujícího příkazu nainstalujte moduly Az.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force
Nainstalujte moduly AzureStack PowerShellu.
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
Upozornění
Pro PowerShell 5.1 pro Windows nemůžete mít současně nainstalované moduly Azure Resource Manager (AzureRM) a Az. Pokud potřebujete mít azure Resource Manager ve vašem systému k dispozici, nainstalujte modul Az pro PowerShell Core 6.x nebo novější. Uděláte to tak, že si nainstalujete PowerShell Core 6.x nebo novější a pak budete postupovat podle těchto pokynů v terminálu PowerShellu Core.
5. Odpojeno: Instalace bez připojení k internetu
V odpojené situaci nejdřív stáhnete moduly PowerShellu do počítače, který má připojení k internetu. Pak je přenesete do sady Azure Stack Development Kit (ASDK) k instalaci.
Přihlaste se k počítači s připojením k internetu a pomocí následujících skriptů stáhněte balíčky Azure Resource Manager a Azure Stack Hub v závislosti na vaší verzi služby Azure Stack Hub.
Instalace má pět kroků:
- Nainstalujte Azure Stack Hub PowerShell na připojený počítač.
- Povolte další funkce úložiště.
- Přepojte balíčky PowerShellu na odpojenou pracovní stanici.
- Na odpojené pracovní stanici ručně spusťte poskytovatele NuGetu.
- Potvrďte instalaci PowerShellu.
Instalace Azure Stack Hub PowerShellu
Můžete použít moduly AzureRM nebo Az . Následující kód uloží moduly Az z důvěryhodného online úložiště 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
Po instalaci modulů Az pokračujte v instalaci modulů AzureStack.
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
Poznámka
Na počítačích bez připojení k internetu doporučujeme spustit následující rutinu, která zakáže shromažďování telemetrických dat. Může dojít ke snížení výkonu rutin bez zakázání shromažďování telemetrických dat. To platí jenom pro počítače bez připojení k internetu.
Disable-AzDataCollection
Přidání balíčků na pracovní stanici
Zkopírujte stažené balíčky do zařízení USB.
Přihlaste se k odpojené pracovní stanici a zkopírujte balíčky ze zařízení USB do umístění na pracovní stanici.
Na odpojené pracovní stanici ručně spusťte poskytovatele NuGetu. Pokyny najdete v tématu Ruční spuštění zprostředkovatele NuGet na počítači, který není připojený k internetu.
Zaregistrujte toto umístění jako výchozí úložiště a nainstalujte
AzureRM
z tohoto úložiště moduly aAzureStack
:# 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
Nainstalujte moduly Az.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
Nainstalujte moduly AzureStack.
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
Potvrzení instalace PowerShellu
Potvrďte instalaci spuštěním následujícího příkazu:
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
6. Konfigurace PowerShellu pro použití proxy serveru
Ve scénářích, které pro přístup k internetu vyžadují proxy server, nejprve nakonfigurujete PowerShell tak, aby používal existující proxy server:
Otevřete příkazový řádek PowerShellu se zvýšenými oprávněními.
Spusťte následující příkazy:
#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. Použití modulu Az
Můžete použít rutiny a ukázky kódu založené na modulech AzureRM. Budete ale chtít změnit název modulů a rutin. Názvy modulů se změnily tak, že AzureRM
a Azure se změní Az
na a totéž pro rutiny. Například modul AzureRM.Compute
se přejmenoval na Az.Compute
.Z New-AzureRMVM
se stalo New-AzVM
a Get-AzureStorageBlob
je teď Get-AzStorageBlob
.
Podrobnější diskuzi a pokyny k přesunu skriptu AzurRM do Az a zásadních změn v modulu Az služby Azure Stack Hub najdete v tématu Migrace z AzureRM na Azure PowerShell Az.
Známé problémy
Chyba vyvolaná při instalaci modulů Az
- Platí: Tento problém se týká verze 2002 a novější.
- Příčina: Při instalaci modulu dojde k chybě. Chybová zpráva začíná:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
Nebo chybová zpráva může obsahovat následující text:PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Náprava: Ve stejné relaci spusťte následující rutinu:
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Zavřete relaci a spusťte novou relaci PowerShellu se zvýšenými oprávněními. - Výskyt: Běžné
Při instalaci modulu Az nepravdě vyvolá chybu Správa požadovaná práva
- Platí: Tento problém se týká verze 2002 a novější.
- Příčina: Při instalaci modulu z příkazového řádku se zvýšenými oprávněními dojde k chybě. Tato chyba uvádí
Administrator rights required
. - Náprava: Zavřete relaci a spusťte novou relaci PowerShellu se zvýšenými oprávněními. Ujistěte se, že neexistuje az. Modul Účty načtený v relaci.
- Výskyt: Běžné
Selhání New-AzVmss rutin při použití profilu 2020-09-01-hybrid
- Platí: Tento problém se týká profilu 2020-09-01-hybrid.
- Příčina: Rutina New-AzVmss nefunguje s profilem 2020-09-01-hybrid.
- Náprava: Použijte šablonu pro vytvoření škálovací sady virtuálních počítačů. Ukázku šablon služby Azure Stack Hub Resource Manager najdete v úložišti GitHub AzureStack-QuickStart-Templates/101-vmss-windows-vm a pokyny k používání správců prostředků služby Azure Stack Hub s nástrojem Visual Studio Code.
- Výskyt: Běžné
Chyba vyvolaná při spuštění skriptu PowerShellu
Platí: Tento problém se týká verze 2002 a novější.
Příčina: Při spouštění skriptů nebo příkazů PowerShellu pomocí modulů specifických pro Azure Stack Hub budete potřebovat, aby váš skript nebo příkaz byly v modulu dostupné. Může se zobrazit následující chyba:
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.
Aktuálním modulem je powershellový modul Az, který nahradil modul PowerShell AzureRM. Pokud se při instalaci modulu Az pokusíte spustit skript, který volá příkazy AzureRM, vyvolá váš skript chyby. Nebo pokud se při instalaci modulu AzureRM pokusíte spustit skript, který volá příkazy Az, vyvolá váš skript chyby.
Náprava: Odinstalujte modul AzureRM a nainstalujte modul Az. Pokyny najdete v tématu Instalace modulu Az PowerShellu pro službu Azure Stack Hub. Pokud používáte nástroje Azure Stack Hub, použijte nástroje Az. Naklonujte úložiště nástrojů z az branch nebo stáhněte AzureStack-Tools z az branch. Pokyny najdete v tématu Stažení nástrojů služby Azure Stack Hub z GitHubu.
Výskyt: Běžné
Došlo k chybě New-AzADServicePrincipal a New-AzADApplication
Platí: Prostředí Azure Stack využívající Microsoft Entra ID.
Příčina: Azure Active Directory Graph zavedl zásadní změnu, která pro aplikace Active Directory omezila
IdentifierUri
na subdomény ověřené domény v adresáři. Před změnou se toto omezení vynucovalo jenom pro aplikace s více tenanty. Toto omezení se teď vztahuje i na aplikace s jedním tenantem. Výsledkem změny bude následující chyba:Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running
.Náprava: Toto omezení můžete obejít dvěma způsoby.
Budete muset použít název instančního objektu, který je subdoménou tenanta adresáře. Pokud je
contoso.onmicrosoft.com
například adresář , hlavní název služby musí být ve tvaru<foo>.contoso.onmicrosoft.com
. Použijte následující rutinu:New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
Další informace o identitě a používání instančních objektů se službou Azure Stack Hub najdete v tématu Přehled zprostředkovatelů identit pro službu Azure Stack Hub.
Vytvořte Microsoft Entra aplikaci poskytující platnou
IdentifierUri
aplikaci a pak pomocí následující rutiny vytvořte instanční objekt, který aplikaci přidružuje:$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Výskyt: Běžné
Chyba: Ověření přihlašovacích údajů SharedTokenCache selhalo.
- Platí: Tento problém se týká všech podporovaných verzí.
- Příčina: Chyba selhání ověřování SharedTokenCacheCredential se vyvolá v případě, že máte několik verzí AzAccounts nainstalovaných s modulem PowerShellu služby Azure Stack Hub verze 2.1.1.
- Náprava: Odeberte všechny verze AzAccounts a nainstalujte jenom podporovanou verzi AzAccounts 2.2.8.
- Výskyt: Běžné