Megosztás a következőn keresztül:


Felhasználói hitelesítő adatok megőrzése a PowerShell-munkamenetek között

Figyelmeztetés

Az AzureRM PowerShell-modul 2024. február 29-én hivatalosan elavult. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében.

Bár az AzureRM-modul továbbra is működik, a továbbiakban nem tart fenn vagy nem támogatott, így a folyamatos használatot a felhasználó saját belátása szerint és kockázatára teheti. Az Az modulra való áttéréshez tekintse meg a migrálási erőforrásainkat.

Az Azure PowerShell új, Azure-környezet automatikus mentése nevű funkciója a következő szolgáltatásokat nyújtja:

  • A bejelentkezési adatok megőrzése és ismételt használata az új PowerShell-munkamenetekben.
  • A háttérfeladatok egyszerűbb használata a hosszú ideig futó parancsmagok végrehajtásához.
  • Váltás a fiókok, előfizetések és környezet között külön bejelentkezés nélkül.
  • Feladatok egyidejű végrehajtása több bejelentkezés és előfizetés használatával ugyanabból a PowerShell-munkamenetből.

Az Azure-környezetek

Az Azure-környezet az Azure PowerShell-parancsmagok célját meghatározó adatok halmaza. A környezet öt részből áll:

  • A Fiók – Az Azure-beli kommunikáció hitelesítéséhez használt felhasználónév vagy szolgáltatásnév
  • Az előfizetés – Az adott erőforrásokat tartalmazó Azure-előfizetés, amelyre a műveletek irányulnak.
  • Bérlő – Az előfizetést tartalmazó Microsoft Entra-bérlő. A bérlők a szolgáltatásnévvel való hitelesítés során fontosabbak.
  • A környezet – A célzott Azure-felhő, általában az Azure globális felhője. A környezetbeállításban azonban megadhat országos, kormányzati és helyszíni (Azure Stack) felhőket is.
  • A hitelesítő adatok – Az Azure által az identitás és az Azure-erőforrások hozzáférési jogosultságának ellenőrzéséhez használt adatok.

A korábbi kiadásokban az új PowerShell-munkamenetek megnyitásakor minden egyes alkalommal létre kellett hozni egy Azure-környezetet. Az Azure PowerShell 4.4.0-s verziójától kezdve azonban új PowerShell-munkamenet megnyitásakor beállítható az Azure-környezet automatikus mentése.

A környezet automatikus mentése a következő bejelentkezéshez

Az Azure PowerShell a 6.3.0-s verziótól kezdve automatikusan megőrzi a környezet adatait a munkamenetek között. Ha szeretné beállítani, hogy a PowerShell elfelejtse a környezetet és a hitelesítő adatokat, használja a Disable-AzureRmContextAutoSave parancsmagot. Ekkor minden alkalommal újra be kell majd jelentkeznie az Azure-ba, amikor megnyit egy PowerShell-munkamenetet.

Ha szeretné engedélyezni, hogy az Azure PowerShell megjegyezze a környezet adatait a PowerShell-munkamenetek bezárásakor, használja az Enable-AzureRmContextAutosave parancsmagot. A rendszer automatikusan menti a környezet adatait és a hitelesítő adatokat egy speciális rejtett mappába a felhasználó könyvtárában (%AppData%\Roaming\Windows Azure PowerShell). Minden egyes új PowerShell-munkamenet az utolsó munkamenet során használt környezetre irányul.

Az Azure-környezetek kezeléséhez használt parancsmagokkal pontosan szabályozható a működés. Például megadhatja, hogy a módosítások csak az aktuális PowerShell-munkamenetre (Process hatókör) vagy minden PowerShell-munkamenetre (CurrentUser hatókör) érvényesek legyenek. Ezeket a beállításokat a részletesebben a Környezeti hatókörök használata című szakasz tárgyalja.

Azure PowerShell-parancsmagok futtatása háttérfeladatként

Az Azure-környezet automatikus mentése funkcióval megoszthatja a környezetet a PowerShell-háttérfeladatokkal. A PowerShell segítségével a hosszú lefutású feladatokat indíthatja és monitorozhatja háttérfeladatokként is, így nem kell megvárnia, amíg ezek befejeződnek. A hitelesítő adatokat kétféleképpen oszthatja meg a háttérfeladatokkal:

  • A környezet átadása argumentumként

    A legtöbb AzureRM-parancsmagba a környezet átadható a parancsmag paramétereként. A környezet a háttérfeladat számára az alábbi példában látható módon adható át:

$job = Start-Job { param ($ctx) New-AzureRmVm -AzureRmContext $ctx [... További paraméterek ...]} -ArgumentList (Get-AzureRmContext)


- Using the default context with Autosave enabled

If you have enabled **Context Autosave**, background jobs automatically use the default saved
context.

```powershell
$job = Start-Job { New-AzureRmVm [... Additional parameters ...]}

Ha tájékozódni szeretne egy háttérfeladat kimeneteléről, a Get-Job parancsmaggal ellenőrizheti le a feladat állapotát, és a Wait-Job parancsmaggal várhatja meg a feladat befejezését. A Receive-Job parancsmaggal rögzítheti és jelenítheti meg a háttérfeladat kimenetét. További információkért lásd a feladatokat ismertető szakaszt.

Környezetek létrehozása, kiválasztása, átnevezése és eltávolítása

Környezetek létrehozásához be kell jelentkeznie az Azure-ba. Az Connect-AzureRmAccount parancsmag (vagy az aliasa, a Login-AzureRmAccount parancsmag) beállítja az Azure PowerShell-parancsmagok által használt alapértelmezett környezetet, valamint lehetővé teszi a bejelentkezési hitelesítő adatai számára engedélyezett bérlők vagy előfizetések elérését.

A bejelentkezés után új környezet hozzáadásához használja a Set-AzureRmContext parancsmagot (vagy az aliasát, a Select-AzureRmSubscription parancsmagot).

Set-AzureRMContext -Subscription 'Contoso Subscription 1' -Name 'Contoso1'

Az előző példa hozzáad egy új környezetet, amely a „Contoso Subscription 1” nevű előfizetést célozza az aktuális hitelesítő adatokkal. Az új környezet neve „Contoso1”. Ha nem ad meg nevet a környezetnek, a rendszer egy alapértelmezett nevet ad a használt fiók- és előfizetés-azonosító alapján.

Meglévő környezetek átnevezéséhez használja a Rename-AzureRmContext parancsmagot. Példa:

Rename-AzureRmContext '[user1@contoso.org; 123456-7890-1234-564321]' 'Contoso2'

A példa az automatikusan elnevezett [user1@contoso.org; 123456-7890-1234-564321] környezetet átnevezi az egyszerű „Contoso2” névre. A környezetek kezelésére szolgáló parancsmagok parancssori kiegészítés funkcióval rendelkeznek, így a beírásukkor gyorsan kiválasztható a környezet.

A környezet a Remove-AzureRmContext parancsmaggal távolítható el. Példa:

Remove-AzureRmContext Contoso2

Elfelejti a „Contoso2” nevű környezetet. A környezet a Set-AzureRmContext parancsmaggal hozható újra létre

Hitelesítő adatok eltávolítása

Egy adott felhasználó vagy szolgáltatásnév összes hitelesítő adatát és társított környezetét a Disconnect-AzureRmAccount (vagy más néven Logout-AzureRmAccount) parancsmaggal távolíthatja el. Paraméterek nélkül a Disconnect-AzureRmAccount parancsmag az aktuális környezetben bejelentkezett felhasználó vagy szolgáltatásnév összes társított hitelesítő adatát és környezetét eltávolítja. A parancsmagnak átadható egy felhasználónév, egyszerű szolgáltatásnév vagy egy környezet is, ha egy adott szolgáltatást kíván megcélozni.

Disconnect-AzureRmAccount user1@contoso.org

Környezeti hatókörök használata

Előfordulhat, hogy úgy szeretné kiválasztani, módosítani vagy eltávolítani egy PowerShell-munkamenet valamely környezetét, hogy a többi munkamenetet ne érintse a módosítás. A környezeti parancsmagok alapértelmezett viselkedésének módosításához használja a Scope paramétert. A Process hatókör felülírja az alapértelmezett viselkedést, hogy csak az aktuális munkamenetre vonatkozzon. A CurrentUser hatókör ezzel szemben nemcsak az aktuális, hanem minden munkamenetben módosítja a környezetet.

Ha például anélkül szeretné módosítani az aktuális PowerShell-munkamenet alapértelmezett környezetét, hogy a módosítás a többi ablakot vagy a munkamenet következő megnyitásakor használt környezetet is érintené, használja a következő parancsmagot:

Select-AzureRmContext Contoso1 -Scope Process

A környezet automatikus mentési beállításainak megőrzése

A rendszer a felhasználó Azure PowerShell-könyvtárába (%AppData%\Roaming\Windows Azure PowerShell) menti a környezet automatikus mentési beállításait. Előfordulhat, hogy egyes számítógépfiókok nem rendelkeznek hozzáféréshez ehhez a könyvtárhoz. Ilyen esetekben használhatja a következő környezeti változót:

$env:AzureRmContextAutoSave=$true

Ha be van $trueállítva, a rendszer automatikusan menti a környezetet. Ha be van $falseállítva, a környezet nem lesz mentve.

Az AzureRM.Profile modul változásai

Új parancsmagok a környezetek kezeléséhez

Meglévő profilparancsmagok változásai

  • Add-AzureRmAccount – A bejelentkezés hatóköre beállításának engedélyezése a folyamatra vagy az aktuális felhasználóra. Lehetővé teszi az alapértelmezett környezet elnevezését a bejelentkezés után.
  • Import-AzureRmContext – A bejelentkezés hatóköre beállításának engedélyezése a folyamatra vagy az aktuális felhasználóra.
  • Set-AzureRmContext – A meglévő elnevezett környezetek kiválasztásának, valamint a hatókör a folyamatra vagy az aktuális felhasználóra való beállításának engedélyezése.