Använda Docker för att köra PowerShell för Azure Stack Hub
I den här artikeln kan du använda Docker för att skapa en container där du kan köra den version av PowerShell som krävs för att arbeta med de olika gränssnitten. Du hittar instruktioner för att använda både AzureRM-moduler och de senaste Az-modulerna. AzureRM kräver en Windows-baserad container. Az använder en Linux-baserad container.
Docker förutsättningar
Installera Docker
Installera Docker.
I ett kommandoradsprogram, till exempel PowerShell eller Bash, anger du:
docker --version
Konfigurera ett huvudnamn för tjänsten för att använda PowerShell
Om du vill använda PowerShell för att komma åt resurser i Azure Stack Hub behöver du ett huvudnamn för tjänsten i din Microsoft Entra-klientorganisation. Du delegerar behörigheter med rollbaserad åtkomstkontroll (RBAC). Du kan behöva begära tjänstens huvudnamn från molnoperatören.
Om du vill konfigurera tjänstens huvudnamn följer du anvisningarna i Ge program åtkomst till Azure Stack Hub-resurser genom att skapa tjänstens huvudnamn.
Observera program-ID, hemligheten, ditt klient-ID och objekt-ID för senare användning.
Kör PowerShell i Docker
I de här anvisningarna kör du en Linux-baserad containeravbildning som innehåller PowerShell och de moduler som krävs för Azure Stack Hub.
Du måste köra Docker med hjälp av Linux-containern. När du kör Docker växlar du till Linux-containrar.
Kör Docker från en dator som är ansluten till samma domän som Azure Stack Hub. Om du använder Azure Stack Development Kit (ASDK) installerar du VPN på fjärrdatorn.
Installera Azure Stack Hub Az-modulen på en Linux-container
Kör följande Docker-kommando från kommandoraden för att köra PowerShell i en Ubuntu-container:
docker run -it mcr.microsoft.com/azurestack/powershell
Du kan köra Ubuntu eller Debian. Du hittar följande Docker-filer på GitHub-lagringsplatsen azurestack-powershell. Se GitHub-lagringsplatsen för de senaste ändringarna av Docker-filerna. Varje operativsystem är taggat. Ersätt taggen, avsnittet efter kolonet, med taggen för önskat operativsystem.
Linux Docker-avbildning Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
Gränssnittet är redo för dina cmdletar. Testa shell-anslutningen genom att logga in och sedan köra
Test-AzureStack.ps1
.Skapa först autentiseringsuppgifterna för tjänstens huvudnamn. Du behöver hemligheten och program-ID:t. Du behöver också objekt-ID:t när du
Test-AzureStack.ps1
kör för att kontrollera containern. Du kan behöva begära ett huvudnamn för tjänsten från molnoperatören.Skriv följande cmdletar för att skapa ett tjänstprincipobjekt:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Anslut till din miljö genom att köra följande skript med följande värden från din Azure Stack Hub-instans.
Värde beskrivning Namnet på miljön. Namnet på din Azure Stack Hub-miljö. Resource Manager-slutpunkt URL:en för Resource Manager. Kontakta molnoperatören om du inte vet det. Den ser ut ungefär så här: https://management.region.domain.com
.Katalogklient-ID ID:t för din Azure Stack Hub-klientkatalog. Merit Ett objekt som innehåller tjänstens huvudnamn. I det här fallet $pscredential
../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell returnerar ditt kontoobjekt.
Testa din miljö genom att köra skriptet
Test-AzureStack.ps1
i containern. Ange objekt-ID för tjänstens huvudnamn. Om du inte anger objekt-ID:t körs skriptet fortfarande, men det testar bara klientmoduler (användare) och misslyckas på moduler som kräver administratörsbehörighet../Test-AzureStack.ps1 <Object ID>
Nästa steg
- Läs en översikt över Azure Stack Hub PowerShell i Azure Stack Hub.
- Läs mer om API-profiler för PowerShell i Azure Stack Hub.
- Installera Azure Stack Hub PowerShell.
- Läs mer om att skapa Azure Resource Manager-mallar för molnkonsekvens.