Instalace modulů Az PowerShellu a Azure Stack pro Azure Stack Hub
Důležitý
Všechny verze modulu PowerShellu Azure Resource Manageru (AzureRM) jsou zastaralé a nejsou podporované. Modul Az PowerShellu je teď doporučeným modulem PowerShellu pro interakci s Azure a službou Azure Stack Hub. Tento článek popisuje, jak začít s modulem Az PowerShell. Informace o migraci na modul Az PowerShell najdete v tématu Migrace z AzureRM do Az Azure PowerShellu v azure Stack Hub. Podrobnosti o zvýšené funkčnosti modulů Az, které byly přijaty v globálním Azure, najdete v tématu Představujeme modul Azure Az PowerShell.
Verze služby Azure Stack Hub | Verze PowerShellu pro AzureStack |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
Další informace o modulech AzureStack naleznete v PSGallery.
Tento článek vysvětluje, jak nainstalovat az Azure PowerShellu a kompatibilní moduly správce služby Azure Stack Hub pomocí modulu PowerShellGet. Moduly Az můžete nainstalovat na platformy Windows, macOS a Linux.
Moduly Az pro Azure Stack Hub můžete také spustit v kontejneru Dockeru. Pokyny najdete v tématu Použití Dockeru ke spuštění PowerShellu pro službu Azure 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 mezi verzemi mezi Azure a Azure Stack Hubem. Profil verze rozhraní API je sada modulů PowerShellu Azure Resource Manageru s konkrétními verzemi rozhraní API. Každá cloudová platforma má sadu podporovaných profilů verzí rozhraní API. Například Azure Stack Hub podporuje konkrétní verzi profilu, například 2020-09-01-hybrid. Při instalaci profilu se nainstalují moduly PowerShellu Azure Resource Manageru, které odpovídají zadanému profilu.
Moduly Az kompatibilní se službou Azure Stack Hub můžete nainstalovat v počítačích připojených k internetu, částečně připojených nebo odpojených scénáří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í 2002 nebo novější a s nainstalovanými všemi aktuálními opravami hotfix. Další informace najdete v poznámkách k verzi Azure Stack Hub .
Moduly Az Azure PowerShellu pracují s PowerShellem 5.1 nebo novějším ve Windows nebo PowerShellEm Core 6.x a novějším na všech platformách. Měli byste nainstalovat nejnovější verzi PowerShellu Core dostupnou pro váš operační systém. Azure PowerShell nemá žádné další požadavky při spuštění v PowerShellu Core.
Pokud chcete zkontrolovat verzi PowerShellu, spusťte příkaz:
$PSVersionTable.PSVersion
Požadavky pro Windows
Pro použití Azure PowerShellu v prostředí PowerShell 5.1 na Windows:
V případě potřeby aktualizujte na Windows PowerShell 5.1. Pokud používáte Windows 10, už máte nainstalovaný PowerShell 5.1.
Nainstalujte .NET Framework verze 4.7.2 nebo novější.
Ujistěte se, že máte nejnovější verzi modulu PowerShellGet. Z příkazového řádku se zvýšenými oprávněními spusťte následující příkazy cmdlet:
[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
Požadavky pro Linux a Mac
Je potřeba powershellová verze Core 6.x nebo novější. Pokyny najdete na odkazu .
Odinstalace existujících verzí modulů PowerShellu služby Azure Stack Hub
Před instalací požadované verze se ujistěte, že jste odinstalovali všechny dříve nainstalované moduly Azure Resource Manageru služby Azure Stack Hub nebo Az PowerShell. Odinstalujte moduly pomocí jedné z následujících dvou metod:
Pokud chcete odinstalovat existující moduly Azure Resource Manageru a Az PowerShellu, 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ě, například modul je již používán, zavřete relace PowerShellu, které používají moduly, a spusťte tyto rutiny znovu.
Pokud
Uninstall-Module
neuspěl, odstraňte z umístění$env:PSModulePath
všechny složky, které začínají Azure, Aznebo Azs. V prostředí Windows PowerShell mohou být umístěníC:\Program Files\WindowsPowerShell\Modules
aC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
. Pro PowerShell Core mohou být umístěníC:\Program Files\PowerShell\7\Modules
aC:\Users\{yourusername}\Documents\PowerShell\Modules
. Odstranění těchto složek odebere všechny existující moduly Azure PowerShellu.
Připojeno: Instalace s připojením k internetu
Modul Azure Stack Az funguje s PowerShellem 5.1 nebo novějším na počítači s Windows nebo s PowerShellem 6.x nebo novějším na platformě Linux nebo macOS. Použití rutin PowerShellGet je upřednostňovaná metoda instalace. Tato metoda funguje stejně na podporovaných platformách.
Spuštěním následujícího příkazu z relace PowerShellu aktualizujte 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 otevřete novou relaci PowerShellu, aby se aktualizace projevila.
Spuštěním následujících příkazů 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
Odpojeno: Instalace bez připojení k internetu
V odpojené situaci nejprve stáhnete moduly PowerShellu do počítače s připojením k internetu. Pak je přenesete do sady Azure Stack Development Kit (ASDK) pro 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 Manageru a služby 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řevezměte balíčky PowerShellu do odpojené pracovní stanice.
- Ručně inicializujte zprostředkovatele NuGet na vaší odpojené pracovní stanici.
- Potvrďte instalaci PowerShellu.
Instalace PowerShellu pro Azure Stack Hub
Následující kód nainstaluje moduly Az z důvěryhodného online úložiště:
[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 instalací 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 rutinu Disable-AzDataCollection
a zakázat shromažďování telemetrických dat. Jinak můžete zakusit snížení výkonu příkazů cmdlet. To platí jenom pro počítače bez připojení k internetu.
Přidejte své balíčky do své pracovní stanice
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.
Ručně inicializujte zprostředkovatele NuGet na odpojené pracovní stanici. Pokyny najdete v tématu Ruční spuštění poskytovatele NuGet na počítači, který není připojený k internetu.
Zaregistrujte toto umístění jako výchozí úložiště a nainstalujte moduly
AzureRM
aAzureStack
z tohoto úložiště:# 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
Instalace modulů AzureStackL
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
Konfigurace PowerShellu pro použití proxy serveru
Ve scénářích, které vyžadují pro přístup k internetu 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
Použití modulu Az
Stále můžete používat rutiny a ukázky kódu založené na modulech AzureRM. Musíte ale změnit název modulů a rutin. Názvy modulů byly změněny tak, aby se AzureRM
a Azure staly Az
, a totéž platí pro rutiny. Například modul AzureRM.Compute
byl přejmenován na Az.Compute
.
New-AzureRMVM
je New-AzVM
a Get-AzureStorageBlob
je nyní Get-AzStorageBlob
.
Podrobnější diskuzi a pokyny k přesunu skriptů AzureRM do Az a informace o zásadních změnách 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
- Platné: Tento problém se vztahuje na verzi 2002 a novější.
- Příčina: Při instalaci modulu se vyvolá chyba. 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: V téže relaci spusťte následující cmdlet:
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: Společný
Při instalaci modulu Az je chybně vyvolána chyba, že je vyžadováno oprávnění správce.
- Platné: Tento problém se vztahuje na verzi 2002 a novější.
- Příčina: Při instalaci modulu z vyvýšeného příkazového řádku se vyvolá chyba. Zpráva o chybě uvádí,
Administrator rights required
. - Náprava: Zavřete relaci a spusťte novou relaci PowerShellu s vyššími oprávněními. Ujistěte se, že neexistuje existující Az. Modul účtů načtený v relaci.
- Výskyt: Společný
Cmdlet New-AzVmss selže při použití profilu 2020-09-01-hybrid
- Relevantní: Tento problém se vztahuje na profil 2020-09-01-hybrid.
- Příčina: Cmdlet New-AzVmss nefunguje s profilem 2020-09-01-hybrid.
- Náprava: Použijte šablonu pro účely škálování sady virtuálních počítačů. Ukázkové šablony Resource Manageru služby Azure Stack Hub najdete v úložišti GitHubu AzureStack-QuickStart-Templates/101-vmss-windows-vm. Také najdete pokyny pro práci se správci prostředků služby Azure Stack Hub ve Visual Studio Code.
- Výskyt: Společný
Chyba vyvolaná při spuštění skriptu PowerShellu
Platí: Tento problém se týká roku 2002 a pozdějších.
Příčina: Při spouštění skriptů nebo příkazů PowerShellu pomocí konkrétních modulů služby Azure Stack Hub budete potřebovat, aby byl skript nebo příkaz k dispozici v modulu. 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í modul je modul Az PowerShellu, který nahradil modul AzureRM PowerShellu. Pokud se pokusíte spustit skript, který při instalaci modulu Az volá příkazy AzureRM, skript vyvolá chyby. Nebo pokud se pokusíte spustit skript, který při instalaci modulu AzureRM volá příkazy Az, skript vyvolá 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 služby 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: Společný
Chyba vyvolaná New-AzADServicePrincipal a New-AzADApplication
Použitelné: Prostředí Služby Azure Stack využívající ID Microsoft Entra.
Příčina: Azure Active Directory Graph zavedl zásadní změnu, která omezila
IdentifierUri
pro aplikace Active Directory na subdomény ověřené domény v adresáři. Před změnou se toto omezení vynutilo jenom pro aplikace s více tenanty. Toto omezení platí i pro 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 instance, který je subdoménou tenanta adresáře. Pokud je například adresář
contoso.onmicrosoft.com
, musí být instanční jméno služby ve tvaru<foo>.contoso.onmicrosoft.com
. Použijte následující cmdlet:New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
Další informace o identitě a používání principálů služeb se službou Azure Stack Hub najdete v tématu Přehled zprostředkovatelů identity pro službu Azure Stack Hub.
Vytvořte aplikaci Microsoft Entra poskytující platnou
IdentifierUri
a potom pomocí následujícího cmdletu vytvořte principál služby spojený s aplikací:$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Výskyt: Společný
Chyba: Selhání ověřování SharedTokenCacheCredential
- Tento problém se týká všech podporovaných verzí.
- Příčina: Chyba SharedTokenCacheCredential selhala, došlo k chybě, pokud je při instalaci více verzí AzAccounts s modulem PowerShellu služby Azure Stack Hub verze 2.1.1.
- Náprava: Odeberte všechny verze AzAccounts a nainstalujte pouze podporované azaccounts verze 2.2.8.
- Výskyt: Společný