Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Alle versies van de PowerShell-module Azure Resource Manager (AzureRM) zijn verouderd en worden niet ondersteund. De Az PowerShell-module is nu de aanbevolen PowerShell-module voor interactie met Azure en Azure Stack Hub. In dit artikel wordt beschreven hoe u aan de slag gaat met de Az PowerShell-module. Zie Migrate from AzureRM to Azure PowerShell Az in Azure Stack Hub (Migreren van AzureRM naar Azure PowerShell Az in Azure Stack Hub) voor informatie over het migreren naar de Az PowerShell-module. Zie Inleiding tot de Azure Az PowerShell-module voor meer informatie over de verbeterde functionaliteit van de Az-modules die zijn geïmplementeerd in de wereldwijde Azure-module.
Versie van Azure Stack Hub | AzureStack PowerShell-versie |
---|---|
2102 | 2.1.1 |
2108 | 2.2.0 |
2206 | 2.3.0 |
2301+ | 2.4.0 |
Zie de PSGallery voor meer informatie over AzureStack-modules.
In dit artikel wordt uitgelegd hoe u de Azure PowerShell Az en compatibele Azure Stack Hub-beheerdersmodules installeert met behulp van PowerShellGet. U kunt de Az-modules installeren op Windows-, macOS- en Linux-platforms.
U kunt ook de Az-modules voor Azure Stack Hub uitvoeren in een Docker-container. Zie Docker gebruiken om PowerShell voor Azure Stack Hub uit te voeren voor instructies.
U kunt API-profielen gebruiken om de compatibele eindpunten voor de Azure Stack Hub-resourceproviders op te geven. API-profielen bieden een manier om versieverschillen tussen Azure en Azure Stack Hub te beheren. Een API-versieprofiel is een set Azure Resource Manager PowerShell-modules met specifieke API-versies. Elk cloudplatform heeft een set ondersteunde API-versieprofielen. Azure Stack Hub ondersteunt bijvoorbeeld een specifieke profielversie, zoals 2020-09-01-hybride. Wanneer u een profiel installeert, worden de Azure Resource Manager PowerShell-modules die overeenkomen met het opgegeven profiel geïnstalleerd.
U kunt Azure Stack Hub-compatibele PowerShell Az-modules installeren in scenario's met internetverbinding, gedeeltelijk verbonden of niet-verbonden scenario's. In dit artikel worden de gedetailleerde instructies voor deze scenario's beschreven.
Uw vereisten verifiëren
Az-modules worden ondersteund in Azure Stack Hub met update 2002 of hoger en met alle huidige hotfixes geïnstalleerd. Zie de opmerkingen bij de release van Azure Stack Hub voor meer informatie.
De Azure PowerShell Az-modules werken met PowerShell 5.1 of hoger in Windows of PowerShell Core 6.x en hoger op alle platforms. Installeer de nieuwste versie van PowerShell Core die beschikbaar is voor uw besturingssysteem. Azure PowerShell heeft geen andere vereisten wanneer deze worden uitgevoerd op PowerShell Core.
Voer de volgende opdracht uit om uw PowerShell-versie te controleren:
$PSVersionTable.PSVersion
Vereisten voor Windows
Azure PowerShell gebruiken in PowerShell 5.1 in Windows:
Werk indien nodig bij naar Windows PowerShell 5.1 . Als u Windows 10 gebruikt, is PowerShell 5.1 al geïnstalleerd.
Installeer .NET Framework 4.7.2 of hoger.
Zorg ervoor dat u de nieuwste versie van PowerShellGet hebt. Voer de volgende cmdlets uit vanaf een prompt met verhoogde bevoegdheid:
[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
Vereisten voor Linux en Mac
PowerShell Core 6.x of nieuwere versie is nodig. Volg de koppeling voor instructies.
Bestaande versies van de Azure Stack Hub PowerShell-modules verwijderen
Voordat u de vereiste versie installeert, moet u ervoor zorgen dat u eerder geïnstalleerde Azure Stack Hub Azure Resource Manager of Az PowerShell-modules verwijdert. Verwijder de modules met een van de volgende twee methoden:
Als u de bestaande Azure Resource Manager- en Az PowerShell-modules wilt verwijderen, sluit u alle actieve PowerShell-sessies en voert u de volgende cmdlets uit:
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
Als er een fout optreedt, zoals 'De module is al in gebruik', sluit u de PowerShell-sessies die gebruikmaken van de modules en voert u deze cmdlets opnieuw uit.
Als
Uninstall-Module
dit niet lukt, verwijdert u alle mappen die beginnen met Azure, Az of Azs vanaf de$env:PSModulePath
locaties. Voor Windows PowerShell kunnen de locatiesC:\Program Files\WindowsPowerShell\Modules
enC:\Users\{yourusername}\Documents\WindowsPowerShell\Modules
zijn. Voor PowerShell Core kunnen de locaties mogelijkC:\Program Files\PowerShell\7\Modules
enC:\Users\{yourusername}\Documents\PowerShell\Modules
zijn. Als u deze mappen verwijdert, worden alle bestaande Azure PowerShell-modules verwijderd.
Verbonden: installeren met internetverbinding
De Azure Stack Az-module werkt met PowerShell 5.1 of hoger op een Windows-computer, powerShell 6.x of hoger op een Linux- of macOS-platform. Het gebruik van de PowerShellGet-cmdlets is de voorkeursmethode voor de installatie. Deze methode werkt op dezelfde manier op de ondersteunde platforms.
Voer de volgende opdracht uit vanuit een PowerShell-sessie om PowerShellGet bij te werken naar minimaal versie 2.2.3:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module PowerShellGet -MinimumVersion 2.2.3 -Force
Sluit uw PowerShell-sessie en open vervolgens een nieuwe PowerShell-sessie, zodat de update van kracht kan worden.
Voer de volgende opdrachten uit om Az-modules te installeren:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Install-Module -Name Az.BootStrapper -Force Install-AzProfile -Profile 2020-09-01-hybrid -Force
Installeer de AzureStack PowerShell-modules:
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
Verbinding verbroken: installeren zonder internetverbinding
In een niet-verbonden scenario downloadt u eerst de PowerShell-modules naar een computer met internetverbinding. Vervolgens brengt u ze over naar de Azure Stack Development Kit (ASDK) voor installatie.
Meld u aan bij een computer met internetverbinding en gebruik de volgende scripts om de Azure Resource Manager- en Azure Stack Hub-pakketten te downloaden, afhankelijk van uw versie van Azure Stack Hub.
De installatie heeft vijf stappen:
- Installeer Azure Stack Hub PowerShell op een verbonden computer.
- Schakel extra opslagfuncties in.
- Transporteer de PowerShell-pakketten naar uw niet-verbonden werkstation.
- Bootstrap de NuGet-provider handmatig op uw niet-verbonden werkstation.
- Bevestig de installatie van PowerShell.
Azure Stack Hub PowerShell installeren
Met de volgende code worden Az-modules geïnstalleerd vanuit de betrouwbare onlineopslagplaats:
[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
Nadat de Az-modules zijn geïnstalleerd, gaat u verder met het installeren van de AzureStack-modules:
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
Opmerking
Op computers zonder internetverbinding raden we u aan om de cmdlet UitschakelenAzDataCollection
uit te voeren om het verzamelen van telemetriegegevens uit te schakelen. Anders kunt u te maken krijgen met prestatievermindering van de cmdlets. Dit is alleen van toepassing op computers zonder internetverbinding.
Uw pakketten toevoegen aan uw werkstation
Kopieer de gedownloade pakketten naar een USB-apparaat.
Meld u aan bij het niet-verbonden werkstation en kopieer de pakketten van het USB-apparaat naar een locatie op het werkstation.
Bootstrap de NuGet-provider handmatig op uw niet-verbonden werkstation. Zie De NuGet-provider handmatig opstarten op een computer die niet is verbonden met internet voor instructies.
Registreer deze locatie als de standaardopslagplaats en installeer de
AzureRM
enAzureStack
modules uit deze opslagplaats:# 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
Installeer de Az-modules.
Install-Module -Name Az -Repository $RepoName -RequiredVersion 2.0.1 -Scope AllUsers
De AzureStack-modulesL installeren
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
De installatie van PowerShell bevestigen
Bevestig de installatie door de volgende opdracht uit te voeren:
Get-Module -Name "Az*" -ListAvailable
Get-Module -Name "Azs*" -ListAvailable
PowerShell configureren voor het gebruik van een proxyserver
In scenario's waarvoor een proxyserver toegang tot internet is vereist, configureert u eerst PowerShell voor het gebruik van een bestaande proxyserver:
Open een PowerShell-prompt met verhoogde bevoegdheid.
Voer de volgende opdrachten uit:
#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
De Az-module gebruiken
U kunt nog steeds de cmdlets en codevoorbeelden gebruiken op basis van AzureRM-modules. U moet echter de naam van de modules en cmdlets wijzigen. De modulenamen zijn zodanig gewijzigd dat AzureRM
en Azure worden Az
, en hetzelfde voor cmdlets. De naam van de AzureRM.Compute
module is bijvoorbeeld gewijzigd in Az.Compute
.
New-AzureRMVM
is New-AzVM
, en Get-AzureStorageBlob
is nu Get-AzStorageBlob
.
Zie Migrate van AzureRM naar Azure PowerShell Az voor uitgebreidere discussies en richtlijnen voor het verplaatsen van AzureRM-scripts naar Az en informatie over belangrijke wijzigingen in de Az-module van Azure Stack Hub.
Bekende problemen
Er is een fout opgetreden bij het installeren van de Az-modules
- Van toepassing: dit probleem is van toepassing op 2002 en hoger
- Oorzaak: Bij het installeren van de module wordt een fout gegenereerd. Het foutbericht begint:
Register-PacakgeSource : A parameter cannot be found that matches parameter name. 'PackageManagementProvider'.
Of het foutbericht kan de volgende tekst bevatten:PackageManagement\Install-Package : Cannot convert value "2.0.1-preview" to type "System.Version". Error: "Input string was not in a correct format."
- Herstel: voer de volgende cmdlet uit in dezelfde sessie:
Install-Module PowershellGet -MinimumVersion 2.3.0 -Force
Sluit uw sessie en start een nieuwe PowerShell-sessie met verhoogde bevoegdheid. - Voorkomen: Algemeen
Bij het installeren van de Az-module wordt ten onrechte een foutmelding gegenereerd die aangeeft dat beheerdersrechten vereist zijn.
- Van toepassing: dit probleem is van toepassing op 2002 en hoger
- Oorzaak: Bij het installeren van de module vanaf een prompt met verhoogde bevoegdheid wordt er een fout gegenereerd. De foutmelding luidt:
Administrator rights required
. - Herstel: sluit uw sessie en start een nieuwe PowerShell-sessie met verhoogde bevoegdheid. Zorg ervoor dat er geen bestaande Az is. Accounts module geladen in de sessie.
- Voorkomen: Algemeen
Cmdlet New-AzVmss mislukt wanneer u het 2020-09-01 hybride profiel gebruikt.
- Van toepassing: dit probleem is van toepassing op het hybride profiel 2020-09-01.
- Oorzaak: De cmdlet New-AzVmss werkt niet met het hybride profiel 2020-09-01.
- Herstel: gebruik een sjabloon voor het maken van een schaalset voor virtuele machines. U vindt een voorbeeld van de Azure Stack Hub Resource Manager-sjablonen in de GitHub-opslagplaats AzureStack-QuickStart-Templates/101-vmss-windows-vm en u vindt instructies over het gebruik van Azure Stack Hub Resource Managers met Visual Studio Code.
- Voorkomen: Algemeen
Er is een fout opgetreden bij het uitvoeren van een PowerShell-script
Van toepassing: dit probleem is van toepassing op 2002 en hoger.
Oorzaak: Wanneer u scripts of PowerShell-opdrachten uitvoert met behulp van de specifieke Modules van Azure Stack Hub, hebt u uw script of opdracht nodig om beschikbaar te zijn in de module. Mogelijk ziet u de volgende fout:
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.
De huidige module is de PowerShell Az-module, die de PowerShell AzureRM-module heeft vervangen. Als u probeert een script uit te voeren dat azureRM-opdrachten aanroept wanneer de Az-module is geïnstalleerd, genereert uw script fouten. Of als u probeert een script uit te voeren dat Az-opdrachten aanroept wanneer de AzureRM-module is geïnstalleerd, genereert uw script fouten.
Herstel: Verwijder de AzureRM-module en installeer de Az-module. Zie PowerShell Az-module installeren voor Azure Stack Hub voor instructies. Als u de Hulpprogramma's van Azure Stack Hub gebruikt, gebruikt u de Az-hulpprogramma's. Kloon de hulpprogramma-opslagplaats van de az vertakking of download de AzureStack-Tools van de az vertakking. Zie Azure Stack Hub-hulpprogramma's downloaden van GitHub voor instructies
Voorkomen: Algemeen
Fout opgetreden met New-AzADServicePrincipal en New-AzADApplication
Van toepassing: Azure Stack-omgevingen met behulp van Microsoft Entra-id.
Oorzaak: Azure Active Directory Graph heeft een ingrijpende wijziging doorgevoerd om het gebruik van
IdentifierUri
te beperken, waardoor Active Directory-toepassingen alleen subdomeinen van een geverifieerd domein in de directory kunnen zijn. Vóór de wijziging werd deze beperking alleen afgedwongen voor de apps met meerdere tenants. Deze beperking is nu ook van toepassing op apps met één tenant. De wijziging resulteert in de volgende fout:Values of identifierUris property must use a verified domain of the organization or its subdomain' is displayed when running
.Herstel: U kunt deze beperking op twee manieren omzeilen.
U moet een service-principalnaam gebruiken die een subdomein van de directory-tenant is. Als de map bijvoorbeeld is
contoso.onmicrosoft.com
, moet de naam van de service-principal de vorm hebben van<foo>.contoso.onmicrosoft.com
. Gebruik de volgende cmdlet:New-AzADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.com
Zie Overzicht van id-providers voor Azure Stack Hub voor meer informatie over identiteiten en het gebruik van service-principals met Azure Stack Hub.
Maak de Microsoft Entra-app met een geldige
IdentifierUri
en maak vervolgens de service-principal die de app koppelt met behulp van de volgende cmdlet.$app=New-AzADApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com New-AzADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Voorkomen: Algemeen
Fout: "SharedTokenCacheCredential-authenticatie mislukt"
- Van toepassing: dit probleem is van toepassing op alle ondersteunde releases.
- Oorzaak: Er is een fout opgetreden bij het uitvoeren van een sharedTokenCacheCredential-verificatie wanneer er meerdere versies van AzAccounts zijn geïnstalleerd met Azure Stack Hub PowerShell Module versie 2.1.1.
- Herstel: verwijder alle versies van AzAccounts en installeer alleen de ondersteunde AzAccounts-versie 2.2.8.
- Voorkomen: Algemeen