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 Azure Resource Manager (AzureRM) PowerShell-module zijn verouderd en worden niet meer 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 Introductie van de Azure Az PowerShell-module voor meer informatie over de verbeterde functionaliteit van de Az-modules, die zijn geïmplementeerd in azure wereldwijd.

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-hybrid. Wanneer u een profiel installeert, worden de Azure Resource Manager PowerShell-modules geïnstalleerd die overeenkomen met het opgegeven profiel.

U kunt PowerShell-modules die compatibel zijn met Azure Stack Hub 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 Windows PowerShell installeren.

    Notitie

    Voor PowerShell 5.1 is een Windows-computer vereist.

  • Voer PowerShell uit in een opdrachtprompt met verhoogde bevoegdheid.

  • PowerShell Gallery toegang
    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, rolmogelijkheden 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 internetverbinding 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 alle eerder geïnstalleerde Azure Stack Hub Azure Resource Manager PowerShell-modules verwijderen. 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 de modules gebruiken 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 mappen en C:\Users\{yourusername}\Documents\WindowsPowerShell\Modules . Als u deze mappen verwijdert, worden alle 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 gebruikt.

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 PowerShell Az-module 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 release die fouten veroorzaakt. Raadpleeg de releaseopmerking 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

Versie 1.7.2 van de Azure Stack Hub-module is een release die fouten veroorzaakt. Als u wilt migreren vanuit Azure Stack Hub 1.6.0, raadpleegt u de migratiehandleiding.

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 en 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 verplaatst u ze 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 bestaat uit vijf stappen:

  1. Installeer Azure Stack Hub PowerShell op een verbonden machine.
  2. Aanvullende opslagfuncties inschakelen.
  3. Transporteer de PowerShell-pakketten naar uw niet-verbonden werkstation.
  4. Start de NuGet-provider handmatig op 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. Voor Az-modules raadpleegt u de instructies in PowerShell Az-module installeren.


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 release die fouten veroorzaakt. Raadpleeg de releaseopmerking 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

Moduleversie 1.7.1 van Azure Stack Hub is een wijziging die fouten veroorzaakt. Als u wilt migreren vanuit Azure Stack Hub 1.6.0, raadpleegt u de migratiehandleiding.

Notitie

Op computers zonder internetverbinding raden we u aan de volgende cmdlet uit te voeren om het verzamelen van telemetriegegevens uit te schakelen. Mogelijk ondervindt u prestatievermindering van de cmdlets zonder het verzamelen van telemetriegegevens uit te schakelen. Dit geldt alleen voor computers 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. Start de NuGet-provider handmatig op op uw niet-verbonden werkstation. Zie Handmatig bootstrappen van de NuGet-provider 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 vanuit 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 waarin een proxyserver toegang tot internet vereist, configureert u PowerShell eerst 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 de Azure Resource Manager als u de Az-modules wilt gebruiken. Sluit uw PowerShell-sessie en verwijder de modules Az of Azure Resource Manager.

    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 die gebruikmaken van Microsoft Entra ID.

  • Oorzaak: Azure Active Directory Graph heeft een wijziging geïntroduceerd die fouten veroorzaakt om de IdentifierUri voor Active Directory-toepassingen te beperken tot subdomeinen van een geverifieerd domein in de directory. 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 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 identiteit en het gebruik van service-principals met Azure Stack Hub.

    • Maak de Microsoft Entra app die een geldige IdentifierUri app biedt en maak vervolgens de service-principal die de app aan de app koppelen met behulp van de volgende cmdlet:

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

Volgende stappen