PowerShell AzureRM-module installeren voor Azure Stack Hub
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, maar niet buiten ondersteuning. AzureRM-modules worden in de toekomst niet meer bijgewerkt Azure Stack Hub builds. Az-modules worden gebruikt voor builds 2002 en hoger. Het profiel 2020-09-01-hybrid 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 meer Azure Stack Hub. 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 (Introductie van de Azure Az PowerShell-module) voor meer informatie over de verbeterde functionaliteit van de Az-modules, die zijn toegepast in azure wereldwijd.
U moet ook API-profielen gebruiken om de compatibele eindpunten voor de resourceproviders Azure Stack Hub opgeven.
API-profielen bieden een manier om versieverschillen tussen Azure en Azure Azure Stack Hub. Een API-versieprofiel is een set Azure Resource Manager PowerShell-modules met specifieke API-versies. Elk cloudplatform heeft een set ondersteunde API-versieprofielen. Zo ondersteunt Azure Stack Hub een specifieke profielversie, zoals 2019-03-01-hybrid. Wanneer u een profiel installeert, worden Azure Resource Manager PowerShell-modules geïnstalleerd die overeenkomen met het opgegeven profiel.
U kunt Azure Stack Hub 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 uitvoeren voor Azure Stack Hub in een Docker-container. Zie Docker gebruiken om PowerShell uit te voeren voor Azure Stack Hub.
1. Uw vereisten controleren
Voordat u aan de slag gaat Azure Stack Hub en de PowerShell Azure Resource Manager module, moet u aan de volgende vereisten werken:
PowerShell versie 5.1
Als u uw versie wilt controleren, $PSVersionTable.PSVersion uit en vergelijkt u de Major-versie . Als u geen PowerShell 5.1 hebt, volgt u de Windows PowerShell.Notitie
PowerShell 5.1 vereist een Windows machine.
Voer PowerShell uit in een opdrachtprompt met verhoogde bevoegdheid.
PowerShell Gallery toegang
U hebt toegang 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 van 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.
2. De toegankelijkheid PowerShell Gallery valideren
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 voer u de volgende opdracht uit:
Register-PSRepository -Default
Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
3. Bestaande versies van de PowerShell-modules Azure Stack Hub 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:
Als u de bestaande powershell-modules Azure Resource Manager en Az wilt verwijderen, sluit u alle actieve PowerShell-sessies en voer 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 ContinueAls er een foutbericht wordt weergegeven als 'De module is al in gebruik', sluit u de PowerShell-sessies die de modules gebruiken en moet u het bovenstaande script opnieuw uitvoeren.
Verwijder alle mappen die beginnen met
AzureofAzs.Azuit deC:\Program Files\WindowsPowerShell\ModulesmappenC:\Users\{yourusername}\Documents\WindowsPowerShell\Modulesen . Als u deze mappen verwijdert, worden alle bestaande PowerShell-modules verwijderd.
4. Verbonden: PowerShell installeren voor Azure Stack Hub met internetverbinding
Het API-versieprofiel en Azure Stack Hub PowerShell-modules die u nodig hebt, zijn afhankelijk van de versie Azure Stack Hub u gebruikt.
PowerShell Azure Stack Hub installeren
Voer het volgende PowerShell-script uit om deze modules op uw ontwikkelwerkstation te installeren:
Voor Azure Stack Hub 2002 of hoger:
U kunt AzureRm-gebruikersmodules of Az-preview-modules gebruiken. Het gebruik van de Az-modules vereist Azure Stack Hub 2002 of hoger.
Als u Az preview-modules wilt gebruiken, volgt u de instructies in De Az-module van PowerShell 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 van een wijziging die een grote wijziging doorbreekt. Raadpleeg de release-opmerking 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 release van een wijziging die een grote wijziging doorbreekt. Raadpleeg de migratiehandleiding om Azure Stack Hub 1.6.0 te migreren.
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 kunt u deze overdragen 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 aanvullende opslagfuncties in.
- Transporteren van de PowerShell-pakketten naar uw niet-verbonden werkstation.
- Start de NuGet-provider handmatig op uw niet-verbonden werkstation op.
- Bevestig de installatie van PowerShell.
PowerShell Azure Stack Hub installeren
Azure Stack Hub 2002 of hoger.
U kunt de modules Azure Resource Manager of Az preview gebruiken. Zie de instructies in Az-module voor PowerShell 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 release van een wijziging die een grote wijziging doorbreekt. Raadpleeg de release-opmerking 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 wijziging die een grote wijziging is. Als u wilt migreren Azure Stack Hub 1.6.0, raadpleegt u de migratiehandleiding.
Notitie
Op computers zonder internetverbinding wordt u aangeraden de volgende cmdlet uit te voeren voor het uitschakelen van het verzamelen van telemetriegegevens. Het is mogelijk dat de prestaties van de cmdlets worden gedegradeerd zonder het verzamelen van telemetriegegevens uit te uitschakelen. Dit is alleen van toepassing op de machines zonder internetverbinding
Disable-AzureRmDataCollection
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.
Start de NuGet-provider handmatig op uw niet-verbonden werkstation. Zie Handmatig opstarten van de NuGet-provider op een computer die niet is verbonden met internet voor instructies.
Registreer deze locatie als de standaardopslagplaats en installeer de Azure Resource Manager modules
AzureStackuit 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 nodig heeft, moet u eerst PowerShell configureren 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
Bekend probleem
Fout bij get_SerializationSettings methode
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 zijn 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 nieuwe modules Azure Resource Manager 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 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 maken met Azure Active Directory (Azure AD).
Oorzaak: er Azure Active Directory Graph
IdentifierUriwijziging geïntroduceerd die de voor Active Directory-toepassingen beperkt tot de 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 geldt nu ook voor 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 verhelpen.
U moet een service-principal-naam gebruiken die een subdomein is van de directory-tenant. Als de map bijvoorbeeld is, moet
contoso.onmicrosoft.comde naam van de service-principal de vorm hebben van<foo>.contoso.onmicrosoft.com. Gebruik de volgende cmdlet:NewAzureRMADServicePrincipal -Role Owner -DisplayName <foo>.contoso.onmicrosoft.comZie Overzicht van id-providers voor Azure Stack Hub voor meer informatie over identiteit en het gebruik van service-principals Azure Stack Hub.
Maak de Azure AD-app met een geldige
IdentifierUrien maak vervolgens de service-principal om de app te koppelen met behulp van de volgende cmdlet:$app=NewAzureRMAdApplication -DisplayName 'newapp' -IdentifierUris http://anything.contoso.onmicrosoft.com NewAzureRMADServicePrincipal -Role Owner -ApplicationId $app.ApplicationId
Occurrence: Algemeen