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.Aks
szeretné 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.
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
Jelentkezzen be az Azure Portalra.
Keresse meg és jelölje ki az Automation-fiókok elemet.
Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
Az Automation-fiók Megosztott erőforrások területén válassza a Modulok lehetőséget.
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:
- Keresse meg a fájlt – kiválaszt egy fájlt a helyi gépről.
- Tallózás a katalógusból – tallózhat, és kiválaszthat egy meglévő modult a katalógusból.
A modul kiválasztásához kattintson a Kiválasztás gombra.
Válassza a Futtatókörnyezet verziója lehetőséget, és kattintson az Importálás gombra.
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.
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.
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.
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 UserName
PSCredential
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 OutputType
informá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>
}
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.
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:
- A portálon keresse meg és válassza az Automation-fiókok lehetőséget.
- Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
- A Megosztott erőforrások területen válassza a Modulok lehetőséget.
- Válassza a Modul hozzáadása lehetőséget.
- Válassza ki a modult tartalmazó .zip-fájlt.
- 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"
Modulok importálása a PowerShell-galéria
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:
- Nyissa meg https://www.powershellgallery.com és keresse meg az importálni kívánt modult.
- 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.
- Az Importálás lapon válassza ki az Automation-fiókját, majd kattintson az OK gombra.
PowerShell-galéria modul importálása közvetlenül az Automation-fiókból:
- A portálon keresse meg és válassza az Automation-fiókok lehetőséget.
- Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
- A Megosztott erőforrások területen válassza a Modulok lehetőséget.
- Válassza a Tallózás gyűjtemény lehetőséget, majd keressen rá a katalógusban egy modulra.
- Válassza ki az importálni kívánt modult, és válassza az Importálás lehetőséget.
- Az importálási folyamat elindításához kattintson az OK gombra .
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:
- A portálon keresse meg és válassza az Automation-fiókok lehetőséget.
- Az Automation-fiókok oldalon válassza ki az Automation-fiókját.
- A Megosztott erőforrások területen válassza a Modulok lehetőséget.
- Válassza ki az eltávolítani kívánt modult.
- 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
Az Azure PowerShell-modulok használatáról további információt az Azure PowerShell használatának első lépéseiben talál.
A PowerShell-modulok létrehozásáról további információt a Windows PowerShell-modul írása című témakörben talál.