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


Modulok kezelése az Azure Automationben

Feljegyzés

2025. február 1-től az Azure Automation megszünteti az AzureRM-modulokat használó összes runbook végrehajtását. 2024. november 1-től nem hozhat létre új runbookokat AzureRM-modulokkal. Az AzureRM PowerShell-modulját 2024. február 29-én hivatalosan elavultnak nyilvánítottuk. Javasoljuk, hogy migráljon az AzureRM modulbó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, az már nem tartható fenn vagy támogatott, és az AzureRM-modul folyamatos használata a felhasználó saját felelősségére történik. További információért tekintse meg a költöztetéssel kapcsolatos erőforrásokat, ha útmutatást szeretne az Az-modulra való áttéréshez.

Az Azure Automation számos PowerShell-modult használ a runbookokban és DSC-erőforrásokban található parancsmagok DSC-konfigurációkban való engedélyezéséhez. A támogatott modulok a következők:

  • Azure PowerShell Az.Automation.
  • Egyéb PowerShell-modulok.
  • Belső Orchestrator.AssetManagement.Cmdlets modul.
  • Python 2-modulok.
  • Létrehozott egyéni modulok.

Automation-fiók létrehozásakor az Azure Automation alapértelmezés szerint importál néhány modult. Lásd: Alapértelmezett modulok.

Fontos

Az új futtatókörnyezeti felület lehetővé teszi a modulok és csomagok kezelését azáltal, hogy lehetővé teszi a feladatvégrehajtási környezet konfigurálását. Az új felületen a Modulok és csomagok panelek nem érhetők el. A modulok és csomagok kezelésével kapcsolatban lásd : Futtatókörnyezet és kapcsolódó runbookok kezelése.

Tesztkörnyezetek

Amikor az Automation runbook- és DSC-fordítási feladatokat hajt végre, a modulokat olyan tesztkörnyezetekbe tölti be, ahol a runbookok futtathatók, és a DSC-konfigurációk lefordíthatók. Az Automation automatikusan a DSC-erőforrásokat is modulokba helyezi a DSC lekéréses kiszolgálón. A gépek lekérhetik az erőforrásokat a DSC-konfigurációk alkalmazásakor.

A felhőalapú tesztkörnyezet legfeljebb 48 rendszerhívást támogat, és biztonsági okokból korlátozza az összes többi hívást. Más funkciók, például a hitelesítő adatok kezelése és néhány hálózatkezelés nem támogatott a felhőbeli tesztkörnyezetben.

A benne foglalt modulok és parancsmagok száma miatt nehéz előre tudni, hogy a parancsmagok közül melyik nem támogatott hívásokat fog kezdeményezni. Általában olyan problémákat tapasztaltunk a parancsmagokkal kapcsolatban, amelyek emelt szintű hozzáférést igényelnek, hitelesítő adatokat igényelnek paraméterként, vagy a hálózatkezeléshez kapcsolódó parancsmagokat. A tesztkörnyezet nem támogatja a teljes veremhálózati műveleteket végző parancsmagokat, beleértve az AIPService PowerShell-modulból származó Connect-AipService és a DNSClient modulBól származó Resolve-DnsName parancsmagokat.

Ezek a tesztkörnyezettel kapcsolatos ismert korlátozások. Az ajánlott kerülő megoldás egy hibrid runbook-feldolgozó üzembe helyezése vagy az Azure Functions használata.

Fontos

Ne foglalja bele az "AzureRm" kulcsszót az Az modullal való végrehajtásra tervezett szkriptekbe. A kulcsszó belefoglalása akár megjegyzésbe is, az AzureRm betöltését okozhatja, majd ütközhet az Az modullal.

Alapértelmezett modulok

Minden új Automation-fiók alapértelmezés szerint a PowerShell Az modul legújabb verzióját importálja. Az Az modul lecseréli az AzureRM-et, és az Azure-ral való használathoz ajánlott modul. Az új Automation-fiók alapértelmezett moduljai a meglévő 24 AzureRM-modult és 60+ Az modult tartalmazzák.

Az Automation-fiókok felhasználója natív lehetőséggel frissítheti a modulokat a legújabb Az modulra. A művelet kezeli az összes modulfüggőséget a háttérrendszerben, így eltávolítja a modulok manuális frissítésének vagy az Azure-modulok frissítéséhez szükséges runbook futtatásának a kivonatát.

Ha a meglévő Automation-fiók csak AzureRM-modulokkal rendelkezik, az Az modulok frissítése lehetőség frissíti az Automation-fiókot az Az modul felhasználó által kiválasztott verziójával.

Ha a meglévő Automation-fiók azureRM-et és néhány Az-modult tartalmaz, a lehetőség importálja a fennmaradó Az-modulokat az Automation-fiókba. A meglévő Az-modulok lesznek előnyben, és a frissítési művelet nem frissíti ezeket a modulokat. Ennek célja annak biztosítása, hogy a frissítési modul művelete ne vezessen runbook-végrehajtási hibához, ha véletlenül frissít egy runbook által használt modult. Ebben a forgatókönyvben ajánlott először törölni a meglévő Az-modulokat, majd végrehajtani a frissítési műveleteket, hogy a legújabb Az-modult importálja az Automation-fiókba. Az ilyen, alapértelmezés szerint nem importált modultípusokat egyéninek nevezzük. Az egyéni modulok mindig előnyben részesítik az alapértelmezett modulokat.

Például: Ha már importálta a modult a Az.Aks 2.3.0-s verzióval, amelyet az Az modul 6.3.0 biztosít, és megpróbálja frissíteni az Az modult a legújabb 6.4.0-s verzióra. A frissítési művelet az összes Az-modult importálja a 6.4.0-s csomagból, kivéve Az.Aks. Ha a legújabb verziót Az.Aksszeretné használni, először törölje a meglévő modult, majd hajtsa végre a frissítési műveletet, vagy külön is frissítheti ezt a modult az Importálás az Az modulok importálása című cikkben leírtak szerint egy adott modul egy másik verziójának importálásához.

Az alábbi táblázat azOkat a modulokat sorolja fel, amelyeket az Azure Automation alapértelmezés szerint importál az Automation-fiók létrehozásakor. Az Automation importálhatja ezeknek a moduloknak az újabb verzióit. Az eredeti verziót azonban nem távolíthatja el az Automation-fiókjából, még akkor sem, ha újabb verziót töröl.

Az alapértelmezett modulokat globális moduloknak is nevezik. Az Azure Portalon a globális modultulajdonság igaz lesz a fiók létrehozásakor importált modul megtekintésekor.

Képernyőkép az Azure Portal globális modultulajdonságáról

Feljegyzés

Nem javasoljuk a modulok és runbookok módosítását az Automation-fiókokban, amelyeket a virtuális gépek üzembe helyezéséhez használnak munkaidőn kívül

Modul neve Verzió
Az.* A teljes lista megtekintése a PowerShell-galéria Csomag részleteiterületén
AuditPolicyDsc 1.1.0.0
Azure 1.0.3
Azure.Storage 1.0.3
AzureRM.Automation 1.0.3
AzureRM.Compute 1.2.1
AzureRM.Profile 1.0.3
AzureRM.Resources 1.0.3
AzureRM.Sql 1.0.3
AzureRM.Storage 1.0.3
ComputerManagementDsc 5.0.0.0
GPRegistryPolicyParser 0,2
Microsoft.PowerShell.Core 0
Microsoft.PowerShell.Diagnostics
Microsoft.PowerShell.Management
Microsoft.PowerShell.Security
Microsoft.PowerShell.Utility
Microsoft.WSMan.Management
Orchestrator.AssetManagement.Cmdlets 0
PSDscResources 2.9.0.0
SecurityPolicyDsc 2.1.0.0
StateConfigCompositeResources 0
xDSCDomainjoin 1,1
xPowerShellExecutionPolicy 1.1.0.0
xRemoteDesktopAdmin 1.1.0.0

Belső parancsmagok

Az Azure Automation olyan belső parancsmagokat támogat, amelyek csak akkor érhetők el, ha runbookokat hajt végre az Azure-tesztkörnyezetben vagy a Windows hibrid runbook-feldolgozóban. A belső modul Orchestrator.AssetManagement.Cmdlets alapértelmezés szerint telepítve van az Automation-fiókban, és amikor a windowsos hibrid runbook-feldolgozó szerepkör telepítve van a gépen.

Az alábbi táblázat a belső parancsmagokat határozza meg. Ezek a parancsmagok az Azure PowerShell-parancsmagok helyett az Automation-fiók erőforrásaival való interakcióhoz használhatók. Titkos kulcsokat lekérhetnek titkosított változókból, hitelesítő adatokból és titkosított kapcsolatokból.

Név Leírás
Get-AutomationCertificate Get-AutomationCertificate [-Name] <string> [<CommonParameters>]
Get-AutomationConnection Get-AutomationConnection [-Name] <string> [-DoNotDecrypt] [<CommonParameters>]
Get-AutomationPSCredential Get-AutomationPSCredential [-Name] <string> [<CommonParameters>]
Get-AutomationVariable Get-AutomationVariable [-Name] <string> [-DoNotDecrypt] [<CommonParameters>]
Set-AutomationVariable Set-AutomationVariable [-Name] <string> -Value <Object> [<CommonParameters>]
Start-AutomationRunbook Start-AutomationRunbook [-Name] <string> [-Parameters <IDictionary>] [-RunOn <string>] [-JobId <guid>] [<CommonParameters>]
Wait-AutomationJob Wait-AutomationJob -Id <guid[]> [-TimeoutInMinutes <int>] [-DelayInSeconds <int>] [-OutputJobsTransitionedToRunning] [<CommonParameters>]

Vegye figyelembe, hogy a belső parancsmagok elnevezése eltér az Az és az AzureRM parancsmagoktól. A belső parancsmagok nevei nem tartalmaznak olyan szavakat, mint Azure a Az főnév vagy a főnév, de használja a szót Automation. Javasoljuk, hogy az Azure-tesztkörnyezetben vagy a Windows hibrid runbook-feldolgozóban futó runbook végrehajtása során használja az Az- vagy AzureRM-parancsmagokat, mert kevesebb paramétert igényelnek, és a végrehajtás során a feladat kontextusában futnak.

Az Vagy AzureRM-parancsmagok használatával módosíthatja az Automation-erőforrásokat egy runbook környezetén kívül.

Python-modulok

Python 2-runbookokat hozhat létre az Azure Automationben. A Python-modulokkal kapcsolatos információkért lásd : Python 2-csomagok kezelése az Azure Automationben.

Egyéni modulok

Az Azure Automation támogatja a runbookokkal és DSC-konfigurációkkal való használatra létrehozott egyéni PowerShell-modulokat. Az egyéni modul egyik típusa egy integrációs modul, amely opcionálisan tartalmaz egy metaadatfájlt, amely meghatározza a modul parancsmagjainak egyéni funkcióit. Az integrációs modul használatára példa a Kapcsolattípus hozzáadása című témakörben található.

Az Azure Automation importálhat egy egyéni modult, hogy elérhetővé tegye a parancsmagjait. A háttérben tárolja a modult, és az Azure-tesztkörnyezetekben használja, ugyanúgy, mint más modulokat.

Migrálás Az-modulokba

Ez a szakasz bemutatja, hogyan migrálhat az Az-modulokra az Automationben. További információ: Azure PowerShell migrálása az AzureRM-ből az Az-be.

Nem javasoljuk, hogy az AzureRM-modulokat és az Az-modulokat ugyanabban az Automation-fiókban futtassa. Ha biztos abban, hogy az AzureRM-ből az Az-be szeretné áttelepíteni a modulokat, a legjobb, ha teljes körű áttelepítést végez. Az Automation gyakran újra felhasználja a tesztkörnyezeteket az Automation-fiókban az indítási idők lerövidítése érdekében. Ha nem végez teljes moduláttelepítést, elindíthat egy olyan feladatot, amely csak AzureRM-modulokat használ, majd egy olyat, amely csak Az-modulokat használ. A tesztkörnyezet hamarosan összeomlik, és hibaüzenet jelenik meg, amely szerint a modulok nem kompatibilisek. Ez a helyzet véletlenszerű összeomlásokat eredményez egy adott runbook vagy konfiguráció esetében.

Feljegyzés

Amikor új Automation-fiókot hoz létre, akár az Az-modulokra való migrálás után is, az Automation alapértelmezés szerint telepíti az AzureRM-modulokat.

Runbookok és DSC-konfigurációk tesztelése a modulmigrálás előtt

Mielőtt az Az-modulokra migrálna, mindenképpen gondosan tesztelje az összes runbookot és DSC-konfigurációt egy külön Automation-fiókban.

Az AzureRM-modulokat használó összes runbook leállítása és ütemezésének megszüntetése

Annak érdekében, hogy AzureRM-modulokat használó meglévő runbookokat vagy DSC-konfigurációkat ne lehessen futtatni, le kell állítania az összes érintett runbookot és konfigurációt, és meg kell szüntetnie az ütemezésüket. Először tekintse át egyenként az összes runbookot vagy DSC-konfigurációt és azok ütemezéseit, hogy szükség esetén a jövőben átütemezhesse őket.

Ha készen áll az ütemezések eltávolítására, használhatja az Azure Portalt vagy a Remove-AzAutomationSchedule parancsmagot. Lásd: Ütemezés eltávolítása.

AzureRM-modulok eltávolítása

Az Az-modulok importálása előtt eltávolíthatja az AzureRM-modulokat. Ezzel azonban megszakíthatja a verziókövetés szinkronizálását, és a még beütemezett szkriptek meghiúsulhatnak. Ha úgy dönt, hogy eltávolítja a modulokat, olvassa el az AzureRM eltávolítása című témakört.

Az-modulok importálása

Ha egy Az-modult importál az Automation-fiókjába, az nem importálja automatikusan a modult a runbookok által használt PowerShell-munkamenetbe. A modulok a következő helyzetekben lesznek importálva a PowerShell-munkamenetbe:

  • Amikor egy runbook parancsmagot hív meg egy modulból.
  • Amikor egy runbook explicit módon importálja a modult az Import-Module parancsmaggal.
  • Amikor egy runbook explicit módon importálja a modult a modulutasítás használatával. Az „using” utasítás a Windows PowerShell 5.0-s verziójától kezdve támogatott, és támogatja az osztályok és a felsorolásos adattípusokok importálást.
  • Amikor egy runbook egy másik függő modult importál.

Az Az-modulokat az Azure Portalról importálhatja az Automation-fiókba. Mivel az Az.Accounts a többi Az-modul függősége, mindenképpen importálja ezt a modult mások előtt.

Feljegyzés

A PowerShell 7.1 (előzetes verzió) támogatásának bevezetésével a Tallózás gyűjtemény lehetőség az alábbi módosításokkal frissült:

  • A Tallózás gyűjtemény a Folyamatautomatizálási>modulok panelen érhető el.
  • A Modulok lapon két új oszlop jelenik meg – a modul verziója és a futtatókörnyezet verziója
  1. Jelentkezzen be az Azure Portalra.

  2. Keresse meg és jelölje ki az Automation-fiókok elemet.

  3. Az Automation-fiókok oldalon válassza ki az Automation-fiókját.

  4. Az Automation-fiók Megosztott erőforrások területén válassza a Modulok lehetőséget.

  5. Válassza a Modul hozzáadása lehetőséget. A Modul hozzáadása lapon az alábbi lehetőségek közül választhat:

    1. Keresse meg a fájlt – kiválaszt egy fájlt a helyi gépről.
    2. Tallózás a katalógusból – tallózhat, és kiválaszthat egy meglévő modult a katalógusból.
  6. A modul kiválasztásához kattintson a Kiválasztás gombra.

  7. Válassza a Futtatókörnyezet verziója lehetőséget, és kattintson az Importálás gombra.

    Képernyőkép a modulok Automation-fiókba való importálásáról.

  8. A Modulok lapon az Automation-fiók alatt megtekintheti az importált modult.

Ezt az importálást a PowerShell-galéria keresztül is elvégezheti, ha megkeresi az importálni kívánt modult. Amikor megtalálta a modult, jelölje ki, és válassza az Azure Automation lapot. Válassza az Üzembe helyezés az Azure Automationben lehetőséget.

A modulok közvetlenül PowerShell-galéria-ból való importálásának képernyőképe.

Runbookok tesztelése

Miután importálta az Az-modulokat az Automation-fiókba, megkezdheti a runbookok és DSC-konfigurációk szerkesztését az új modulok használatához. A runbook új parancsmagok használatára való módosításának tesztelésére az egyik módszer a Enable-AzureRmAlias -Scope Process runbook elején található parancs használata. Ha hozzáadja ezt a parancsot a runbookhoz, a szkript módosítás nélkül is futtatható.

Szerzői modulok

Javasoljuk, hogy kövesse az ebben a szakaszban ismertetett szempontokat, amikor egyéni PowerShell-modult hoz létre az Azure Automationben való használatra. A modul importálásra való előkészítéséhez létre kell hoznia legalább egy .psd1, .psm1 vagy PowerShell-modult , .dll a modulmappával azonos nevű fájlt. Ezután tömörítse a modulmappát, hogy az Azure Automation egyetlen fájlként importálhassa. A .zip csomagnak ugyanazzal a névvel kell rendelkeznie, mint a tartalmazott modulmappának.

Ha többet szeretne megtudni a PowerShell-modul készítéséről, olvassa el a PowerShell-szkriptmodul írása című témakört.

Verziómappa

A PowerShell-modulok párhuzamos verziószámozása lehetővé teszi egy modul több verziójának használatát a PowerShellben. Ez akkor lehet hasznos, ha régebbi, tesztelt szkriptekkel rendelkezik, és csak egy PowerShell-modul egy bizonyos verzióján dolgozik, de más szkriptekhez ugyanannak a PowerShell-modulnak egy újabb verziója szükséges.

Ha PowerShell-modulokat szeretne létrehozni, hogy azok több verziót tartalmazzanak, hozza létre a modulmappát, majd hozzon létre egy mappát a modul minden olyan verziójához, amelyet használni szeretne. Az alábbi példában a TestModule nevű modul két verziót biztosít: 1.0.0 és 2.0.0.

TestModule
   1.0.0
   2.0.0

Az egyes verziómappákban másolja a PowerShell .psm1, .psd1 vagy PowerShell modult .dll a modult alkotó fájlokat a megfelelő verziómappába. Tömörítse be a modulmappát, hogy az Azure Automation egyetlen .zip fájlként importálhassa. Bár az Automation csak az importált modul egyik verzióját jeleníti meg, ha a modulcsomag a modul egymás melletti verzióit tartalmazza, ezek mindegyike használható a runbookokban vagy a DSC-konfigurációkban.

Bár az Automation támogatja azokat a modulokat, amelyek ugyanazon csomagon belül egymás mellett találhatók, nem támogatja a modul több verziójának használatát a modulcsomagok importálása során. Importálja például az A modult, amely az 1. és a 2. verziót tartalmazza az Automation-fiókjába. Később úgy frissíti az A modult, hogy tartalmazza a 3. és a 4. verziót, amikor importálja az Automation-fiókjába, csak a 3. és a 4. verzió használható bármilyen runbookon vagy DSC-konfiguráción belül. Ha az összes - 1, 2, 3 és 4 verziót - elérhetővé szeretné tenni, az importált .zip fájlnak tartalmaznia kell az 1., 2., 3. és 4. verziót.

Ha ugyanazt a modul különböző verzióit fogja használni a runbookok között, a parancsmag használatával mindig deklarálnia kell a Import-Module runbookban használni kívánt verziót, és tartalmaznia kell a paramétert -RequiredVersion <version>. Még akkor is, ha a használni kívánt verzió a legújabb verzió. Ennek az az oka, hogy a runbook-feladatok ugyanabban a tesztkörnyezetben futhatnak. Ha a tesztkörnyezet már betöltött egy bizonyos verziószámú modult, mert a tesztkörnyezetben egy korábbi feladat ezt mondta, a tesztkörnyezetben lévő jövőbeli feladatok nem töltik be automatikusan a modul legújabb verzióját. Ennek az az oka, hogy bizonyos verziója már be van töltve a tesztkörnyezetbe.

DSC-erőforrás esetén az alábbi paranccsal adjon meg egy adott verziót:

Import-DscResource -ModuleName <ModuleName> -ModuleVersion <version>

Súgóinformációk

Adjon meg egy összefoglalót, leírást és súgó URI-t a modul minden parancsmagjához. A PowerShellben a parancsmagok súgóadatait a Get-Help parancsmag használatával határozhatja meg. Az alábbi példa bemutatja, hogyan definiálhat egy szinopszist, és hogyan segítheti az URI-t egy .psm1 modulfájlban.

<#
     .SYNOPSIS
      Gets a Contoso User account
#>
function Get-ContosoUser {
[CmdletBinding](DefaultParameterSetName='UseConnectionObject', `
HelpUri='https://www.contoso.com/docs/information')]
[OutputType([String])]
param(
   [Parameter(ParameterSetName='UserAccount', Mandatory=true)]
   [ValidateNotNullOrEmpty()]
   [string]
   $UserName,

   [Parameter(ParameterSetName='UserAccount', Mandatory=true)]
   [ValidateNotNullOrEmpty()]
   [string]
   $Password,

   [Parameter(ParameterSetName='ConnectionObject', Mandatory=true)]
   [ValidateNotNullOrEmpty()]
   [Hashtable]
   $Connection
)

switch ($PSCmdlet.ParameterSetName) {
   "UserAccount" {
      $cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $UserName, $Password
      Connect-Contoso -Credential $cred
   }
   "ConnectionObject" {
      Connect-Contoso -Connection $Connection
  }
}
}

Ezen információk megadásával súgószöveg jelenik meg a Get-Help PowerShell-konzol parancsmagján keresztül. Ez a szöveg az Azure Portalon is megjelenik.

Az integrációs modul súgójának képernyőképe

Kapcsolat típusa

Ha a modul külső szolgáltatáshoz csatlakozik, egyéni integrációs modullal definiáljon egy kapcsolattípust. A modul minden parancsmagjának paraméterként el kell fogadnia az adott kapcsolattípus (kapcsolatobjektum) egy példányát. A felhasználók a parancsmag megfelelő paramétereihez rendelik le a kapcsolati objektum paramétereit minden alkalommal, amikor meghívnak egy parancsmagot.

Egyéni kapcsolat használata az Azure Portalon

Az alábbi runbook-példa egy Contoso kapcsolati objektumot használ a ContosoConnection Contoso-erőforrások eléréséhez és a külső szolgáltatásból származó adatok visszaadásához. Ebben a példában a mezők egy objektum tulajdonságaira és Password tulajdonságaira UserNamePSCredential vannak leképezve, majd átadva a parancsmagnak.

$contosoConnection = Get-AutomationConnection -Name 'ContosoConnection'

$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $contosoConnection.UserName, $contosoConnection.Password
Connect-Contoso -Credential $cred
}

Ennek a viselkedésnek a megközelítése egyszerűbb és jobb módja, ha közvetlenül átadja a kapcsolatobjektumot a parancsmagnak:

$contosoConnection = Get-AutomationConnection -Name 'ContosoConnection'

Connect-Contoso -Connection $contosoConnection
}

A parancsmagok hasonló viselkedését úgy engedélyezheti, hogy lehetővé teszi számukra, hogy közvetlenül paraméterként fogadjanak el egy kapcsolatobjektumot a paraméterek kapcsolatmezői helyett. Általában mindegyikhez egy paramétert szeretne beállítani, így az Automationt nem használó felhasználók anélkül hívhatják meg a parancsmagokat, hogy létrehozna egy kivonatolót a kapcsolatobjektumként való működéshez. A paraméterkészlet UserAccount a kapcsolatmező tulajdonságainak átadására szolgál. ConnectionObject lehetővé teszi, hogy közvetlenül átengedje a kapcsolatot.

Kimeneti típus

Adja meg a modul összes parancsmagjának kimeneti típusát. A parancsmag kimeneti típusának meghatározása lehetővé teszi a tervezési idejű IntelliSense-t a parancsmag kimeneti tulajdonságainak meghatározásához a létrehozás során. Ez a gyakorlat különösen hasznos a grafikus runbookok készítése során, amelyekhez a tervezési idő ismerete kulcsfontosságú a modul egyszerű felhasználói élményéhez.

Adja hozzá [OutputType([<MyOutputType>])]az MyOutputType érvényes típust. További OutputTypeinformáció: Függvények kimenettípusaAttribute. Az alábbi kód egy példa OutputType egy parancsmag hozzáadására:

function Get-ContosoUser {
[OutputType([String])]
param(
   [string]
   $Parameter1
)
# <script location here>
}

Képernyőkép a grafikus runbook kimeneti típusáról

Ez a viselkedés hasonló a parancsmag kimenetének "előre" funkciójához a PowerShell integrációs szolgáltatáskörnyezetében anélkül, hogy futtatnia kellene.

A POSH IntelliSense képernyőképe

Parancsmag állapota

Állítsa állapotmentessé a modul összes parancsmagját. Egyszerre több runbook-feladat is futtatható ugyanabban AppDomain a folyamatban és tesztkörnyezetben. Ha ezeken a szinteken bármilyen állapot meg van osztva, a feladatok hatással lehetnek egymásra. Ez a viselkedés időszakos és nehezen diagnosztizálható problémákhoz vezethet. Íme egy példa a teendőkre:

$globalNum = 0
function Set-GlobalNum {
   param(
       [int] $num
   )

   $globalNum = $num
}
function Get-GlobalNumTimesTwo {
   $output = $globalNum * 2

   $output
}

Modulfüggőség

Győződjön meg arról, hogy a modul teljes egészében megtalálható egy olyan csomagban, amely xcopy használatával másolható. Az Automation-modulok a runbookok végrehajtásakor kerülnek kiosztásra az Automation tesztkörnyezeteibe. A moduloknak az őket futtató gazdagéptől függetlenül kell működniük.

A modulcsomagokat tömörítheti és áthelyezheti, és a szokásos módon kell működnie, amikor egy másik gazdagép PowerShell-környezetébe importálják. Ehhez győződjön meg arról, hogy a modul nem függ a modul mappáján kívüli fájloktól, amelyek a modul Automationbe való importálásakor tömörítve vannak.

A modul nem függhet a gazdagép egyedi beállításjegyzék-beállításaitól. Ilyenek például a termékek telepítésekor megadott beállítások.

Modulfájl elérési útjai

Győződjön meg arról, hogy a modul összes fájlja 140 karakternél rövidebb elérési utakkal rendelkezik. A 140 karakternél hosszabb elérési utak problémákat okoznak a runbookok importálásával kapcsolatban. Az Automation nem tud importálni egy 140 karakternél nagyobb elérési utat tartalmazó fájlt a PowerShell-munkamenetbe Import-Module.

Modulok importálása

Ez a szakasz számos módszert definiál, amelyekkel importálhat modulokat az Automation-fiókjába.

Modulok importálása az Azure Portalon

Modul importálása az Azure Portalon:

  1. A portálon keresse meg és válassza az Automation-fiókok lehetőséget.
  2. Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
  3. A Megosztott erőforrások területen válassza a Modulok lehetőséget.
  4. Válassza a Modul hozzáadása lehetőséget.
  5. Válassza ki a modult tartalmazó .zip-fájlt.
  6. Az importálási folyamat elindításához válassza az OK gombot.

Modulok importálása a PowerShell használatával

A New-AzAutomationModule parancsmaggal importálhat egy modult az Automation-fiókjába. A parancsmag egy modul .zip csomag URL-címét veszi át.

New-AzAutomationModule -Name <ModuleName> -ContentLinkUri <ModuleUri> -ResourceGroupName <ResourceGroupName> -AutomationAccountName <AutomationAccountName>

Ugyanezzel a parancsmaggal közvetlenül is importálhat modulokat a PowerShell-galéria. Győződjön meg róla, hogy megragadModuleName, és ModuleVersion a PowerShell-galéria.

$moduleName = <ModuleName>
$moduleVersion = <ModuleVersion>
New-AzAutomationModule -AutomationAccountName <AutomationAccountName> -ResourceGroupName <ResourceGroupName> -Name $moduleName -ContentLinkUri "https://www.powershellgallery.com/api/v2/package/$moduleName/$moduleVersion"

Importálhat PowerShell-galéria modulokat közvetlenül a katalógusból vagy az Automation-fiókjából.

Modul importálása közvetlenül a PowerShell-galéria:

  1. Nyissa meg https://www.powershellgallery.com és keresse meg az importálni kívánt modult.
  2. A Telepítési beállítások területen az Azure Automation lapon válassza az Üzembe helyezés az Azure Automationben lehetőséget. Ez a művelet megnyitja az Azure Portalt.
  3. Az Importálás lapon válassza ki az Automation-fiókját, majd kattintson az OK gombra.

Képernyőkép a PowerShell-galéria importálási modulról

PowerShell-galéria modul importálása közvetlenül az Automation-fiókból:

  1. A portálon keresse meg és válassza az Automation-fiókok lehetőséget.
  2. Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
  3. A Megosztott erőforrások területen válassza a Modulok lehetőséget.
  4. Válassza a Tallózás gyűjtemény lehetőséget, majd keressen rá a katalógusban egy modulra.
  5. Válassza ki az importálni kívánt modult, és válassza az Importálás lehetőséget.
  6. Az importálási folyamat elindításához kattintson az OK gombra .

Képernyőkép egy PowerShell-galéria modul Azure Portalról való importálásáról

Modulok törlése

Ha problémái vannak egy modullal, vagy vissza kell állítania egy modul egy korábbi verzióját, törölheti azt az Automation-fiókjából. Az Automation-fiók létrehozásakor importált alapértelmezett modulok eredeti verziói nem törölhetők. Ha a törölni kívánt modul az egyik alapértelmezett modul újabb verziója, az az Automation-fiókkal telepített verzióra kerül vissza. Ellenkező esetben az Automation-fiókból törölt összes modul el lesz távolítva.

Modulok törlése az Azure Portalon

Modul eltávolításának menete az Azure Portalon:

  1. A portálon keresse meg és válassza az Automation-fiókok lehetőséget.
  2. Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
  3. A Megosztott erőforrások területen válassza a Modulok lehetőséget.
  4. Válassza ki az eltávolítani kívánt modult.
  5. A Modul lapon válassza a Törlés lehetőséget. Ha ez a modul az alapértelmezett modulok egyike, az az Automation-fiók létrehozásakor létező verzióra kerül vissza.

Modulok törlése a PowerShell használatával

Ha el szeretne távolítani egy modult a PowerShell-lel, futtassa a következő parancsot:

Remove-AzAutomationModule -Name <moduleName> -AutomationAccountName <automationAccountName> -ResourceGroupName <resourceGroupName>

Következő lépések