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


PowerShell-moduljegyzék írása

Miután megírta a PowerShell-modult, hozzáadhat egy nem kötelező moduljegyzéket, amely információkat tartalmaz a modulról. Leírhatja például a szerzőt, meghatározhatja a modulban lévő fájlokat (például beágyazott modulokat), szkripteket futtathat a felhasználói környezet testreszabásához, betöltheti a fájlok típusát és formázását, meghatározhatja a rendszerkövetelményeket, és korlátozhatja a modul által exportálható tagokat.

Moduljegyzék létrehozása

A moduljegyzék egy PowerShell-adatfájl ( ), amely leírja egy modul tartalmát, és meghatározza a modul .psd1 feldolgozásának folyamatát. A jegyzékfájl egy szövegfájl, amely kulcsokat és értékeket tartalmazó kivonattáblát tartalmaz. A jegyzékfájlt úgy csatolhatja egy modulhoz, hogy a jegyzékfájlt ugyanúgy nevezi el, mint a modult, és tárolja a jegyzékfájlt a modul gyökérkönyvtárában.

A csak egy vagy bináris szerelvényt tartalmazó egyszerű modulok esetében .psm1 a moduljegyzék használata nem kötelező. A javaslat azonban az, hogy amikor csak lehetséges, használjon egy moduljegyzéket, mivel ezek segítenek a kód rendszerezésében és a verziószámozási információk karbantartásában. A globális szerelvény-gyorsítótárban telepített szerelvények exportálásához pedig egy moduljegyzékre van szükség. A frissíthető súgó funkciót támogató modulokhoz is szükség van egy moduljegyzékre. A frissíthető súgó a moduljegyzék HelpInfoUri kulcsának használatával megkeresi a modul frissített súgófájlja helyét tartalmazó Súgóinformációk (HelpInfo XML) fájlt. A frissíthető súgóval kapcsolatos további információkért lásd: A frissíthető súgó támogatása.

Moduljegyzék létrehozása és használata

  1. A moduljegyzék létrehozásához az ajánlott eljárás a New-ModuleManifest parancsmag használata. Paraméterek használatával megadhatja a jegyzékfájl egy vagy több alapértelmezett kulcsát és értékét. Az egyetlen követelmény a fájl elnevezése. New-ModuleManifest létrehoz egy moduljegyzéket a megadott értékekkel, és tartalmazza a fennmaradó kulcsokat és azok alapértelmezett értékeit. Ha több modult kell létrehoznia, a használatával hozzon létre egy moduljegyzék-sablont, amely a különböző New-ModuleManifest modulokhoz módosítható. Az alapértelmezett moduljegyzékre a Mintamodul-jegyzékfájlban láthat példát.

    New-ModuleManifest -Path C:\myModuleName.psd1 -ModuleVersion "2.0" -Author "YourNameHere"

    Alternatív megoldásként manuálisan is létrehozhatja a moduljegyzék kivonattábláját a ModuleVersion minimális információ alapján. Mentse a fájlt a modullal azonos néven, és használja a .psd1 fájlkiterjesztést. Ezután szerkesztheti a fájlt, és hozzáadhatja a megfelelő kulcsokat és értékeket.

  2. Adja hozzá a jegyzékfájlhoz a kívánt további elemeket.

    A jegyzékfájl szerkesztéséhez bármilyen szövegszerkesztőt használhat. A jegyzékfájl azonban egy kódot tartalmazó szkriptfájl, ezért előfordulhat, hogy szkript- vagy fejlesztési környezetben szeretné szerkeszteni, például a Visual Studio Code-ban. A jegyzékfájl összes eleme nem kötelező, kivéve a ModuleVersion számot.

    A moduljegyzékbe foglalhatja a kulcsok és értékek leírását a Modul jegyzékelemei táblázatban található. További információért tekintse meg a New-ModuleManifest parancsmag paraméterleírását.

  3. Az alapmodul jegyzékelemei által nem lefedett forgatókönyvek megoldását további kódot is hozzáadhatja a moduljegyzékhez.

    Biztonsági okokból a PowerShell csak az elérhető műveletek egy kis részkészletét futtatja egy modul jegyzékfájljában. Általában használhatja a utasítást, az aritmetikai és összehasonlító operátorokat, valamint az alapvető if PowerShell-adattípusokat.

  4. A moduljegyzék létrehozása után tesztelheti, hogy a jegyzékben leírt útvonalak helyesek-e. A modul jegyzékfájlját a Test-ModuleManifest használatával tesztelje.

    Test-ModuleManifest myModuleName.psd1

  5. Győződjön meg arról, hogy a moduljegyzék a modult tartalmazó könyvtár legfelső szintjén található.

    Amikor a modult egy rendszerbe másolja és importálja, a PowerShell a modul jegyzékfájlját használja a modul importálására.

  6. Ha szükséges, közvetlenül is tesztelheti a moduljegyzéket az Import-Module hívásával, ha a jegyzékfájlt pontokkal kiszerveződ.

    Import-Module .\myModuleName.psd1

Moduljegyzék-elemek

Az alábbi táblázat a moduljegyzékbe foglalhat elemeket ismerteti.

Elem Alapértelmezett Leírás
RootModule (RootModule)
Típus: String
<empty string> A jegyzékfájlhoz társított szkriptmodul vagy bináris modulfájl. A PowerShell korábbi verziói ezt az elemet a ModuleToProcess elemnek hívták.
A gyökérmodul lehetséges típusai üresek is lehet, ami létrehoz egy Jegyzékmodult, egy szkriptmodul nevét ( ), vagy egy bináris modul .psm1 nevét ( vagy .exe .dll ). Ha ebben az elemben elhelyez egy moduljegyzék ( ) vagy egy szkriptfájl .psd1 .ps1 () nevét, az hibát okoz.
Például: RootModule = 'ScriptModule.psm1'
ModuleVersion (Modulverzió)
Típus: Version
'0.0.1' A modul verziószáma. Ha nincs megadva érték, a New-ModuleManifest az alapértelmezett értéket használja. A sztringnek képesnek kell lennie a típusra Version konvertálásra, #.#.#.# például: . Import-Module betölti az első modult, amely a $PSModulePath megegyezik a névvel, és legalább olyan magas ModuleVersion-rel rendelkezik, mint a MinimumVersion paraméter. Egy adott verzió importálásához használja a Import-Module parancsmag RequiredVersion paraméterét.
Például: ModuleVersion = '1.0'
GUID
Típus: GUID
'<GUID>' A modul egyedi azonosítására használt azonosító. Ha nincs megadva érték, New-ModuleManifest a automatikusan generálja az értéket. Jelenleg nem importálhat modult GUID azonosító alapján.
Például: GUID = 'cfc45206-1e49-459d-a8ad-5b571ef94857'
Szerző
Típus: String
'<Current user>' A modul szerzője. Ha nincs megadva érték, New-ModuleManifest a az aktuális felhasználót használja.
Például: Author = 'AuthorNameHere'
CompanyName
Típus: String
'Unknown' A modul vállalata vagy szállítója. Ha nincs megadva érték, a New-ModuleManifest az alapértelmezett értéket használja.
Például: CompanyName = 'Fabrikam'
Szerzői jog
Típus: String
'(c) <Author>. All rights reserved.' A modul szerzői jogi nyilatkozata. Ha nincs megadva érték, a az alapértelmezett értéket használja New-ModuleManifest az aktuális <Author> felhasználóval. Szerző megadásához használja a Szerző paramétert.
Például: Copyright = '2019 AuthorName. All rights reserved.'
Leírás
Típus: String
<empty string> A modul által biztosított funkciók leírása.
Például: Description = 'This is the module's description.'
PowerShellVersion
Típus: Version
<empty string> A Modulhoz szükséges PowerShell-motor minimális verziója. Érvényes értékek: 1.0, 2.0, 3.0, 4.0, 5.0, 5.1, 6.0, 6.1, 6.2, 7.0 és 7.1.
Például: PowerShellVersion = '5.0'
PowerShellHostName
Típus: String
<empty string> A modulhoz szükséges PowerShell-gazdagép neve. Ezt a nevet a PowerShell biztosítja. A gazdaprogram nevének megkereshez írja be a következőt a programba: $host.name .
Például: PowerShellHostName = 'ConsoleHost'
PowerShellHostVersion
Típus: Version
<empty string> A Modul által megkövetelt PowerShell-gazdagép minimális verziója.
Például: PowerShellHostVersion = '2.0'
DotNetFrameworkVersion
Típus: Version
<empty string> A Microsoft-.NET-keretrendszer szükséges minimális verziója. Ez az előfeltétel csak a PowerShell Desktop kiadásra érvényes, például a PowerShell 5.1-re.
Például: DotNetFrameworkVersion = '3.5'
CLRVersion
Típus: Version
<empty string> A modulhoz szükséges közös nyelvi modul (CLR) minimális verziója. Ez az előfeltétel csak a PowerShell Desktop kiadásra érvényes, például a PowerShell 5.1-re.
Például: CLRVersion = '3.5'
ProcessorArchitecture
Típus: ProcessorArchitecture
<empty string> A modulhoz szükséges processzorarchitektúra (Nincs, X86, Amd64). Érvényes értékek: x86, AMD64, Arm, IA64, MSIL és Nincs (ismeretlen vagy nem meghatározott).
Például: ProcessorArchitecture = 'x86'
RequiredModules (Kötelezőmodulok)
Típus: Object[]
@() A modul importálása előtt a globális környezetbe importálni kell a modulokat. Ez betölti a felsorolt modulokat, kivéve, ha azok már be vannak töltve. Előfordulhat például, hogy egyes modulokat már betölt egy másik modul. A helyett egy adott betöltni kívánt verziót is RequiredVersion ModuleVersion megadhat. A használata esetén a rendszer a legújabb elérhető verziót fogja betölteni ModuleVersion a megadott minimális verzióval. A paraméterértékben sztringeket és kivonattáblákat kombinálhat.
Például: RequiredModules = @("MyModule", @{ModuleName="MyDependentModule"; ModuleVersion="2.0"; GUID="cfc45206-1e49-459d-a8ad-5b571ef94857"})
Például: RequiredModules = @("MyModule", @{ModuleName="MyDependentModule"; RequiredVersion="1.5"; GUID="cfc45206-1e49-459d-a8ad-5b571ef94857"})
Szükségesassemblies
Típus: String[]
@() A modul importálása előtt betölthető szerelvények. Megadja a modulhoz szükséges .dll szerelvényfájlneveket ( ).
A PowerShell a típusok vagy formátumok frissítése, a beágyazott modulok importálása vagy a RootModule kulcs értékeként megadott modulfájl importálása előtt betölti a megadott szerelvényeket. Ezzel a paraméterrel listába sorolja a modulhoz szükséges összes szerelvényt.
Például: RequiredAssemblies = @("assembly1.dll", "assembly2.dll", "assembly3.dll")
ScriptsToProcess
Típus: String[]
@() Script ( ) fájlok, amelyek a hívó munkamenet-állapotában futnak .ps1 a modul importálása során. Ez lehet a globális munkamenet-állapot, vagy a beágyazott modulok esetében egy másik modul munkamenet-állapota. Ezekkel a szkriptekkel előkészítheti a környezetet, ahogyan egy bejelentkezési szkriptet is használhat.
Ezek a szkriptek a jegyzékfájlban felsorolt modulok betöltése előtt futnak.
Például: ScriptsToProcess = @("script1.ps1", "script2.ps1", "script3.ps1")
TypesToProcess (Típusokfelfeldolgozás)
Típus: String[]
@() Írja be a modul importálása során betölteni .ps1xml szükséges fájlokat ().
Például: TypesToProcess = @("type1.ps1xml", "type2.ps1xml", "type3.ps1xml")
FormatsToProcess (Formátumokfelfeldolgozás)
Típus: String[]
@() Formázza a modul importálni kívánt .ps1xml fájlokat ().
Például: FormatsToProcess = @("format1.ps1xml", "format2.ps1xml", "format3.ps1xml")
NestedModules (Beágyazottmodulok)
Típus: Object[]
@() A RootModule modulban (alias:ModuleToProcess) megadott modul beágyazott moduljaiként importálható modulok.
A modul nevének hozzáadása ehhez az elemhez hasonló, mint a hívása a szkriptből vagy Import-Module szerelvénykódból. A jegyzékfájl használatának fő különbsége az, hogy könnyebben látható, hogy mit tölt be. Ha pedig egy modul nem töltődik be, még nem fogja betölteni a tényleges modult.
Más modulok mellett itt szkriptfájlokat ( .ps1 ) is betölthet. Ezek a fájlok a gyökérmodul környezetében lesznek végrehajtva. Ez egyenértékű azzal, mint a szkript forráskezelése a gyökérmodulban.
Például: NestedModules = @("script.ps1", @{ModuleName="MyModule"; ModuleVersion="1.0.0.0"; GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"})
FunctionsToExport (Függvényekexportálás)
Típus: String[]
@() Megadja az ebből a modulból exportálandó függvényeket, a legjobb teljesítmény érdekében ne használjon helyettesítő karaktereket, és ne törölje a bejegyzést, használjon üres tömböt, ha nincsenek exportálandó függvények. Alapértelmezés szerint a függvények nincsenek exportálva. Ezzel a kulccsal listhatja a modul által exportált függvényeket.
A modul exportálja a függvényeket a hívó munkamenet-állapotába. A hívó munkamenet-állapota lehet a globális munkamenet-állapot, vagy beágyazott modulok esetén egy másik modul munkamenet-állapota. Beágyazott modulok láncolata során a beágyazott modul által exportált összes függvény a globális munkamenet-állapotba lesz exportálva, kivéve, ha a lánc egyik modulja a FunctionsToExport kulcs használatával korlátozza a függvényt.
Ha a jegyzékfájl exportálja a függvények aliasát, ez a kulcs eltávolíthatja azokat a függvényeket, amelyeknek az aliasa szerepel az AliasesToExport kulcsban, de ez a kulcs nem adhat függvény aliasokat a listához.
Például: FunctionsToExport = @("function1", "function2", "function3")
CmdletsToExport (Parancsmagok –Exportálás)
Típus: String[]
@() Megadja az ebből a modulból exportálandó parancsmagokat, a legjobb teljesítmény érdekében ne használjon helyettesítő karaktereket, és ne törölje a bejegyzést, használjon üres tömböt, ha nincsenek exportálandó parancsmagok. Alapértelmezés szerint a rendszer nem exportál parancsmagokat. Ezzel a kulccsal listhatja a modul által exportált parancsmagokat.
A hívó munkamenet-állapota lehet a globális munkamenet-állapot, vagy beágyazott modulok esetén egy másik modul munkamenet-állapota. Beágyazott modulok láncolása esetén a beágyazott modul által exportált összes parancsmag a globális munkamenet-állapotba lesz exportálva, kivéve, ha a lánc egyik modulja a CmdletsToExport kulcs használatával korlátozza a parancsmagot.
Ha a jegyzékfájl exportálja a parancsmagok aliasát, ez a kulcs eltávolíthatja azokat a parancsmagokat, amelyeknek az aliasai szerepelnek az AliasesToExport kulcsban, de ez a kulcs nem adhat hozzá parancsmag-aliasokat a listához.
Például: CmdletsToExport = @("Get-MyCmdlet", "Set-MyCmdlet", "Test-MyCmdlet")
VariablesToExport (VariablesToExport)
Típus: String[]
'*' Megadja azokat a változókat, amelyek exportálását a modul a hívó munkamenet-állapotába exportálja. Helyettesítő karakterek használata engedélyezett. Alapértelmezés szerint a rendszer az összes változót ( '*' ) exportálja. Ezzel a kulccsal korlátozhatja a modul által exportált változókat.
A hívó munkamenet-állapota lehet a globális munkamenet-állapot, vagy beágyazott modulok esetén egy másik modul munkamenet-állapota. Beágyazott modulok láncolása esetén a beágyazott modul által exportált összes változó a globális munkamenet-állapotba lesz exportálva, kivéve, ha a lánc egyik modulja a VariablesToExport kulccsal korlátozza a változót.
Ha a jegyzékfájl a változók aliasát is exportálja, ez a kulcs eltávolíthatja azokat a változókat, amelyek aliasai szerepelnek az AliasesToExport kulcsban, de ez a kulcs nem adhat változó aliasokat a listához.
Például: VariablesToExport = @('$MyVariable1', '$MyVariable2', '$MyVariable3')
AliasesToExport
Típus: String[]
@() Megadja az ebből a modulból exportálandó aliasokat, a legjobb teljesítmény érdekében ne használjon helyettesítő karaktereket, és ne törölje a bejegyzést, használjon üres tömböt, ha nincsenek exportálandó aliasok. Alapértelmezés szerint a rendszer nem exportál aliasokat. Ezzel a kulccsal listhatja a modul által exportált aliasokat.
A modul exportálja az aliasokat a hívó munkamenet-állapotába. A hívó munkamenet-állapota lehet a globális munkamenet-állapot, vagy beágyazott modulok esetén egy másik modul munkamenet-állapota. Beágyazott modulok láncolata során a beágyazott modul által exportált összes aliast a rendszer végül a globális munkamenet-állapotba exportálja, kivéve, ha a lánc egyik modulja az AliasesToExport kulcs használatával korlátozza az aliast.
Például: AliasesToExport = @("MyAlias1", "MyAlias2", "MyAlias3")
DscResourcesToExport
Típus: String[]
@() A modulból exportálni szükséges DSC-erőforrásokat adja meg. Helyettesítő karakterek használata engedélyezett.
Például: DscResourcesToExport = @("DscResource1", "DscResource2", "DscResource3")
ModuleList
Típus: Object[]
@() A modulhoz csomagolt összes modult megadja. Ezek a modulok név szerint, vesszővel elválasztott sztring használatával, vagy ModuleName és GUID kulcsokat használó kivonattáblaként is megírhatóak. A kivonattábla egy nem kötelező ModuleVersion kulccsal is rendelkezik. A ModuleList kulcs modulleltárként működik. Ezeket a modulokat a rendszer nem feldolgoz automatikusan.
Például: ModuleList = @("SampleModule", "MyModule", @{ModuleName="MyModule"; ModuleVersion="1.0.0.0"; GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"})
FileList
Típus: String[]
@() A modulhoz csomagolt összes fájl listája. Ahogy a ModuleList esetén is, a FileList is egy leltárlista, és egyéb esetben nem lesz feldolgozva.
Például: FileList = @("File1", "File2", "File3")
PrivateData (Privát adatok)
Típus: Object
@{...} Megadja a RootModule (alias: ModuleToProcess) kulcs által meghatározott gyökérmodulnak átállítható privát adatokat. A PrivateData egy kivonattábla, amely több elemből áll: Tags, LicenseUri, ProjectURI, IconUri, ReleaseNotes, Prerelease, RequireLicenseAcceptance, és ExternalModuleDependencies.
Címkék
Típus: String[]
@() A címkék segítenek az online katalógusok modulfelderítésében.
Például: Tags = "PackageManagement", "PowerShell", "Manifest"
LicenseUri
Típus: Uri
<empty string> A modul licencének URL-címe.
Például: LicenseUri = 'https://www.contoso.com/license'
ProjectUri (Projekturi)
Típus: Uri
<empty string> A projekt fő webhelyének URL-címe.
Például: ProjectUri = 'https://www.contoso.com/project'
IconUri
Típus: Uri
<empty string> A modult jelképeő ikon URL-címe.
Például: IconUri = 'https://www.contoso.com/icons/icon.png'
ReleaseNotes
Típus: String
<empty string> A modul kibocsátási megjegyzéseit adja meg.
Például: ReleaseNotes = 'The release notes provide information about the module.
Prerelease
Típus: String
<empty string> Ez a paraméter a PowerShellGet 1.6.6-os parancsában lett hozzáadva. Egy előzetes verziójú sztring, amely a modult előzetes verzióként azonosítja az online katalógusban.
Például: PreRelease = 'This module is a prerelease version.
RequireLicenseAcceptance
Típus: Boolean
$true Ez a paraméter a PowerShellGet 1.5-ben lett hozzáadva. Jelző annak jelzésére, hogy a modulhoz explicit felhasználói elfogadás szükséges-e a telepítéshez, frissítéshez vagy mentéshez.
Például: RequireLicenseAcceptance = $false
ExternalModuleDependencies (Külső modul függőségei)
Típus: String[]
@() Ez a paraméter a PowerShellGet v2-ben lett hozzáadva. Azon külső modulok listája, amelyektől ez a modul függ.
Például: ExternalModuleDependencies = @("ExtModule1", "ExtModule2", "ExtModule3")
HelpInfoURI
Típus: String
<empty string> A modul HelpInfo URI-ja.
Például: HelpInfoURI = 'https://www.contoso.com/help'
DefaultCommandPrefix
Típus: String
<empty string> A modulból exportált parancsok alapértelmezett előtagja. Bírálja felül az alapértelmezett előtagot a Import-Module -Prefix használatával.
Például: DefaultCommandPrefix = 'My'

Mintamodul-jegyzék

A következő mintamodul-jegyzékfájl a használatával lett létrehozva a PowerShell 7-ben, és New-ModuleManifest tartalmazza az alapértelmezett kulcsokat és értékeket.

#
# Module manifest for module 'SampleModuleManifest'
#
# Generated by: User01
#
# Generated on: 10/15/2019
#

@{

# Script module or binary module file associated with this manifest.
# RootModule = ''

# Version number of this module.
ModuleVersion = '0.0.1'

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = 'b632e90c-df3d-4340-9f6c-3b832646bf87'

# Author of this module
Author = 'User01'

# Company or vendor of this module
CompanyName = 'Unknown'

# Copyright statement for this module
Copyright = '(c) User01. All rights reserved.'

# Description of the functionality provided by this module
# Description = ''

# Minimum version of the PowerShell engine required by this module
# PowerShellVersion = ''

# Name of the PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
        # LicenseUri = ''

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
        # ReleaseNotes = ''

        # Prerelease string of this module
        # Prerelease = ''

        # Flag to indicate whether the module requires explicit user acceptance for install/update/save
        RequireLicenseAcceptance = $true

        # External dependent modules of this module
        # ExternalModuleDependencies = @()

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}

Lásd még

about_Comparison_Operators

about_If

Globális szerelvény-gyorsítótár

Import-Module

New-ModuleManifest

Test-ModuleManifest

Update-ModuleManifest

Windows PowerShell-modul írása