Delen via


PowerShell AzureRM-module voor Azure Stack Hub installeren

Azure PowerShell Azure Resource Manager (AzureRM) biedt een set cmdlets die gebruikmaken van het Azure Resource Manager-model voor het beheren van uw Azure Stack Hub-resources.

Belangrijk

U hebt een webpagina bereikt voor een verouderde versie van Azure Stack Hub PowerShell. Alle versies van de PowerShell-module Azure Resource Manager (AzureRM) zijn verouderd en worden niet ondersteund. AzureRM-modules worden niet meer bijgewerkt in toekomstige Azure Stack Hub-builds. Az-modules moeten worden gebruikt voor builds 2002 en hoger. Het hybride profiel 2020-09-01 wordt niet ondersteund voor AzureRM-modules.

De Az PowerShell-module is nu de aanbevolen PowerShell-module voor interactie met Azure en Azure Stack Hub. Zie PowerShell Az preview-module installeren voor Azure Stack Hub om aan de slag te gaan met de Az PowerShell-module. Voor meer informatie over het migreren naar de Az PowerShell-module. zie Migreren van AzureRM naar Azure PowerShell Az in Azure Stack Hub. Zie Introducing the Azure Az PowerShell module (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.

U moet ook 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 2019-03-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-modules installeren in scenario's met internetverbinding, gedeeltelijk verbonden of niet-verbonden. In dit artikel worden de gedetailleerde instructies voor deze scenario's beschreven.

U kunt ook de Azure Resource Manager-modules voor Azure Stack Hub uitvoeren in een Docker-container. Zie Docker gebruiken om PowerShell voor Azure Stack Hub uit te voeren voor instructies.

1. Controleer uw vereisten

Voordat u aan de slag gaat met Azure Stack Hub en de PowerShell Azure Resource Manager-module, moet u aan de volgende vereisten voldoen:

  • PowerShell-versie 5.1
    Als u uw versie wilt controleren, voert u $PSVersionTable.PSVersion uit en vergelijkt u de primaire versie. Als u geen PowerShell 5.1 hebt, volgt u de installatie van Windows PowerShell.

    Notitie

    PowerShell 5.1 vereist een Windows-computer.

  • Voer PowerShell uit in een opdrachtprompt met verhoogde bevoegdheid.

  • Toegang tot PowerShell Gallery
    U hebt toegang nodig tot de PowerShell Gallery. De galerie is de centrale opslagplaats voor PowerShell-inhoud. De PowerShellGet-module bevat cmdlets voor het detecteren, installeren, bijwerken en publiceren van PowerShell-artefacten. Voorbeelden van deze artefacten zijn modules, DSC-resources, functiemogelijkheden en scripts uit de PowerShell Gallery en andere privéopslagplaatsen. Als u PowerShell gebruikt in een niet-verbonden scenario, moet u resources ophalen van een computer met een verbinding met internet en deze opslaan op een locatie die toegankelijk is voor uw niet-verbonden computer.

Controleer of PSGallery is geregistreerd als opslagplaats.

Notitie

Voor deze stap is internettoegang vereist.

Open een PowerShell-prompt met verhoogde bevoegdheid en voer de volgende cmdlets uit:

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

Als de opslagplaats niet is geregistreerd, opent u een PowerShell-sessie met verhoogde bevoegdheid en voert u de volgende opdracht uit:

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

3. 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 PowerShell-modules verwijdert. Verwijder de modules met behulp van een van de volgende twee methoden:

  1. 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 u een fout krijgt zoals 'De module is al in gebruik', sluit u de PowerShell-sessies die gebruikmaken van de modules en voert u het bovenstaande script opnieuw uit.

  2. Verwijder alle mappen die beginnen met Azure, Az of Azs. uit de C:\Program Files\WindowsPowerShell\Modules en C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules mappen. Als u deze mappen verwijdert, worden bestaande PowerShell-modules verwijderd.

4. Verbonden: PowerShell voor Azure Stack Hub installeren met internetverbinding

Het API-versieprofiel en de Azure Stack Hub PowerShell-modules die u nodig hebt, zijn afhankelijk van de versie van Azure Stack Hub die u uitvoert.

Azure Stack Hub PowerShell installeren

Voer het volgende PowerShell-script uit om deze modules te installeren op uw ontwikkelwerkstation:

Voor Azure Stack Hub 2002 of hoger:

U kunt azureRm-modules van gebruikers of Az preview-modules gebruiken. Voor het gebruik van de Az-modules is Azure Stack Hub 2002 of hoger vereist.

Als u Az preview-modules wilt gebruiken, volgt u de instructies in de module PowerShell Az installeren.

# 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 

Voor Azure Stack Hub 1910:

# 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

Notitie

  • Azure Stack Hub-moduleversie 1.8.0 is een belangrijke wijzigingsrelease. Raadpleeg de releasenotitie voor meer informatie.

Voor Azure Stack Hub 1908 of eerder:

# 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

Notitie

De Azure Stack Hub-moduleversie 1.7.2 is een belangrijke wijzigingsrelease. Raadpleeg de migratiehandleiding om te migreren van Azure Stack Hub 1.6.0.

Installatie van PowerShell bevestigen

Bevestig de installatie door de volgende opdracht uit te voeren:

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

Als de installatie is geslaagd, worden de AzureRm modules AzureStack weergegeven in de uitvoer.

5. Verbinding verbroken: PowerShell 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:

  1. Installeer Azure Stack Hub PowerShell op een verbonden computer.
  2. Schakel extra opslagfuncties in.
  3. Transporteer de PowerShell-pakketten naar uw niet-verbonden werkstation.
  4. Bootstrap de NuGet-provider handmatig op uw niet-verbonden werkstation.
  5. Bevestig de installatie van PowerShell.

Azure Stack Hub PowerShell installeren

Azure Stack Hub 2002 of hoger.

U kunt Azure Resource Manager- of Az Preview-modules gebruiken. Zie de instructies in de module PowerShell Az installeren voor Az-modules.


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

Notitie

Azure Stack Hub-moduleversie 1.8.0 is een belangrijke wijzigingsrelease. Raadpleeg de releasenotitie voor meer informatie.

Voor Azure Stack Hub 1908 of eerder:

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

Notitie

De Azure Stack Hub-moduleversie 1.7.1 is een belangrijke wijziging. Raadpleeg de migratiehandleiding om te migreren van Azure Stack Hub 1.6.0.

Notitie

Op computers zonder internetverbinding raden we u aan de volgende cmdlet uit te voeren voor het uitschakelen van de verzameling telemetriegegevens. Mogelijk ondervindt u prestatievermindering van de cmdlets zonder de telemetriegegevensverzameling uit te schakelen. Dit is alleen van toepassing op de machines zonder internetverbinding

Disable-AzureRmDataCollection

Uw pakketten toevoegen aan uw werkstation

  1. Kopieer de gedownloade pakketten naar een USB-apparaat.

  2. Meld u aan bij het niet-verbonden werkstation en kopieer de pakketten van het USB-apparaat naar een locatie op het werkstation.

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

  4. Registreer deze locatie als de standaardopslagplaats en installeer De Azure Resource Manager en AzureStack 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"
    
    Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted
    
    Install-Module -Name AzureRM -Repository $RepoName
    
    Install-Module -Name AzureStack -Repository $RepoName
    

Installatie van PowerShell bevestigen

Bevestig de installatie door de volgende opdracht uit te voeren:

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

6. 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:

  1. Open een PowerShell-prompt met verhoogde bevoegdheid.

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

Bekend probleem

Methode get_SerializationSettings-fout

  • Oorzaak: de PowerShell Az-module en PowerShell Azure Resource Manager-modules zijn niet compatibel.

    De volgende fout geeft aan dat de Azure Resource Manager-modules en Az-modules in dezelfde sessie worden geladen:

    >  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.
    
  • Herstel: verwijder de conflicterende modules.

    Als u de Azure Resource Manager-modules wilt gebruiken, verwijdert u de Az-modules. Of verwijder Azure Resource Manager als u de Az-modules wilt gebruiken. Sluit uw PowerShell-sessie en verwijder de Az- of Azure Resource Manager-modules.

    U vindt instructies in Bestaande versies van de Azure Stack Hub PowerShell-modules verwijderen.

Fout opgetreden met NewAzureRMADServicePrincipal en NewAzureRMAdApplication

  • Van toepassing: Azure Stack-omgevingen met behulp van Microsoft Entra-id.

  • Oorzaak: Azure Active Directory Graph heeft een belangrijke wijziging geïntroduceerd om te IdentifierUri beperken dat Active Directory-toepassingen de subdomeinen van een geverifieerd domein in de directory 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-principal-naam gebruiken die een subdomein van de maptenant 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:

      NewAzureRMADServicePrincipal -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 die een geldige IdentifierUri waarde biedt en maak vervolgens de service-principal die de app aan de hand van de volgende cmdlet aan de app koppelen:

      $app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com
      NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
      
  • Exemplaar: Algemeen

Volgende stappen