Udostępnij za pośrednictwem


New-ModuleManifest

Tworzy nowy manifest modułu.

Składnia

New-ModuleManifest
   [-Path] <String>
   [-NestedModules <Object[]>]
   [-Guid <Guid>]
   [-Author <String>]
   [-CompanyName <String>]
   [-Copyright <String>]
   [-RootModule <String>]
   [-ModuleVersion <Version>]
   [-Description <String>]
   [-ProcessorArchitecture <ProcessorArchitecture>]
   [-PowerShellVersion <Version>]
   [-CLRVersion <Version>]
   [-DotNetFrameworkVersion <Version>]
   [-PowerShellHostName <String>]
   [-PowerShellHostVersion <Version>]
   [-RequiredModules <Object[]>]
   [-TypesToProcess <String[]>]
   [-FormatsToProcess <String[]>]
   [-ScriptsToProcess <String[]>]
   [-RequiredAssemblies <String[]>]
   [-FileList <String[]>]
   [-ModuleList <Object[]>]
   [-FunctionsToExport <String[]>]
   [-AliasesToExport <String[]>]
   [-VariablesToExport <String[]>]
   [-CmdletsToExport <String[]>]
   [-DscResourcesToExport <String[]>]
   [-CompatiblePSEditions <String[]>]
   [-PrivateData <Object>]
   [-Tags <String[]>]
   [-ProjectUri <Uri>]
   [-LicenseUri <Uri>]
   [-IconUri <Uri>]
   [-ReleaseNotes <String>]
   [-Prerelease <String>]
   [-RequireLicenseAcceptance]
   [-ExternalModuleDependencies <String[]>]
   [-HelpInfoUri <String>]
   [-PassThru]
   [-DefaultCommandPrefix <String>]
   [-WhatIf]
   [-Confirm] 
   [<CommonParameters>]

Opis

Polecenie New-ModuleManifest cmdlet tworzy nowy plik manifestu modułu (.psd1), wypełnia jego wartości i zapisuje plik manifestu w określonej ścieżce.

Autorzy modułów mogą użyć tego polecenia cmdlet, aby utworzyć manifest dla swojego modułu. Manifest modułu .psd1 to plik zawierający tabelę skrótów. Klucze i wartości w tabeli skrótów opisują zawartość i atrybuty modułu, definiują wymagania wstępne i określają sposób przetwarzania składników. Manifesty nie są wymagane dla modułu.

New-ModuleManifest Tworzy manifest zawierający wszystkie powszechnie używane klucze manifestu, dzięki czemu można użyć domyślnych danych wyjściowych jako szablonu manifestu. Aby dodać lub zmienić wartości albo dodać klucze modułu, których to polecenie cmdlet nie dodaje, otwórz wynikowy plik w edytorze tekstów.

Każdy parametr, z wyjątkiem path i PassThru, tworzy klucz manifestu modułu i jego wartość. W manifeście modułu wymagany jest tylko klucz ModuleVersion . Jeśli nie określono parametru w opisie parametru, jeśli pominięto parametr z polecenia, tworzy ciąg komentarza dla skojarzonej wartości, New-ModuleManifest która nie ma efektu.

W programie PowerShell 2.0 New-ModuleManifest zostanie wyświetlony monit o podanie wartości często używanych parametrów, które nie są określone w poleceniu, oprócz wymaganych wartości parametrów. Począwszy od programu PowerShell 3.0, monituje tylko wtedy, New-ModuleManifest gdy nie określono wymaganych wartości parametrów.

Jeśli planujesz opublikować moduł w Galeria programu PowerShell, manifest musi zawierać wartości dla niektórych właściwości. Aby uzyskać więcej informacji, zobacz Wymagane metadane dla elementów opublikowanych w Galeria programu PowerShell w dokumentacji galerii.

Przykłady

Przykład 1 — tworzenie nowego manifestu modułu

W tym przykładzie tworzony jest nowy manifest modułu w pliku określonym przez parametr Path . Parametr PassThru wysyła dane wyjściowe do potoku i do pliku.

Dane wyjściowe zawierają wartości domyślne wszystkich kluczy w manifeście.

New-ModuleManifest -Path C:\ps-test\Test-Module\Test-Module.psd1 -PassThru

#
# Module manifest for module 'Test-Module'
#
# Generated by: ContosoAdmin
#
# Generated on: 7/12/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 = 'e1826c6e-c420-4eef-9ac8-185e3669ca6a'

# Author of this module
Author = 'ContosoAdmin'

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

# Copyright statement for this module
Copyright = '(c) ContosoAdmin. 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 = $false

        # 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 = ''

}

Przykład 2 — tworzenie nowego manifestu ze wstępnie wypełnionymi ustawieniami

W tym przykładzie zostanie utworzony nowy manifest modułu. Używa parametrów PowerShellVersion i AliasesToExport , aby dodać wartości do odpowiednich kluczy manifestu.

$moduleSettings = @{
    PowerShellVersion = 1.0
    Path   = 'C:\ps-test\ManifestTest.psd1'
    AliasesToExport   = @(
      'JKBC'
      'DRC'
      'TAC'
    )
}
New-ModuleManifest @moduleSettings

Przykład 3 — tworzenie manifestu wymagającego innych modułów

W tym przykładzie użyto formatu ciągu, aby określić nazwę modułu BitsTransfer i format tabeli skrótu w celu określenia nazwy, identyfikatora GUID i wersji modułu PSScheduledJob .

$moduleSettings = @{
  RequiredModules = ("BitsTransfer", @{
    ModuleName="PSScheduledJob"
    ModuleVersion="1.0.0.0";
    GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"
  })
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

W tym przykładzie pokazano, jak używać ciągów i formatów tabeli skrótów parametru ModuleList, RequiredModules i NestedModules. Można łączyć ciągi i tabele skrótów w tej samej wartości parametru.

Przykład 4 — tworzenie manifestu obsługującego pomoc z możliwością aktualizacji

W tym przykładzie użyto parametru HelpInfoUri do utworzenia klucza HelpInfoUri w manifeście modułu. Wartość parametru i klucza muszą zaczynać się od http lub https. Ta wartość informuje system Pomocy z możliwością aktualizacji, gdzie można znaleźć plik informacji pomocy w formacie HelpInfo z możliwością aktualizowania pliku pomocy dla modułu.

$moduleSettings = @{
  HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

Aby uzyskać informacje o aktualizowalnej pomocy, zobacz about_Updatable_Help. Aby uzyskać informacje o pliku XML HelpInfo, zobacz Obsługa aktualizowalnej pomocy.

Przykład 5 — uzyskiwanie informacji o module

W tym przykładzie pokazano, jak uzyskać wartości konfiguracji modułu. Wartości w manifeście modułu są odzwierciedlane w wartościach właściwości obiektu modułu.

Polecenie Get-Module cmdlet służy do pobrania modułu Microsoft.PowerShell.Diagnostics przy użyciu parametru List . Polecenie wysyła moduł do Format-List polecenia cmdlet, aby wyświetlić wszystkie właściwości i wartości obiektu modułu.

Get-Module Microsoft.PowerShell.Diagnostics -List | Format-List -Property *

LogPipelineExecutionDetails : False
Name                        : Microsoft.PowerShell.Diagnostics
Path                        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics\Micro
                              soft.PowerShell.Diagnostics.psd1
Definition                  :
Description                 :
Guid                        : ca046f10-ca64-4740-8ff9-2565dba61a4f
HelpInfoUri                 : https://go.microsoft.com/fwlink/?LinkID=210596
ModuleBase                  : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics
PrivateData                 :
Version                     : 3.0.0.0
ModuleType                  : Manifest
Author                      : Microsoft Corporation
AccessMode                  : ReadWrite
ClrVersion                  : 4.0
CompanyName                 : Microsoft Corporation
Copyright                   : Microsoft Corporation. All rights reserved.
DotNetFrameworkVersion      :
ExportedFunctions           : {}
ExportedCmdlets             : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
ExportedCommands            : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
FileList                    : {}
ModuleList                  : {}
NestedModules               : {}
PowerShellHostName          :
PowerShellHostVersion       :
PowerShellVersion           : 3.0
ProcessorArchitecture       : None
Scripts                     : {}
RequiredAssemblies          : {}
RequiredModules             : {}
RootModule                  :
ExportedVariables           : {}
ExportedAliases             : {}
ExportedWorkflows           : {}
SessionState                :
OnRemove                    :
ExportedFormatFiles         : {C:\Windows\system32\WindowsPowerShell\v1.0\Event.format.ps1xml,
                              C:\Windows\system32\WindowsPowerShell\v1.0\Diagnostics.format.ps1xml}
ExportedTypeFiles           : {C:\Windows\system32\WindowsPowerShell\v1.0\GetEvent.types.ps1xml}

Parametry

-AliasesToExport

Określa aliasy eksportowane przez moduł. Dozwolone są symbole wieloznaczne.

Za pomocą tego parametru można ograniczyć aliasy wyeksportowane przez moduł. Może usunąć aliasy z listy wyeksportowanych aliasów, ale nie może dodać aliasów do listy.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz AliasesToExport o wartości * (wszystkie), co oznacza, że wszystkie aliasy zdefiniowane w module są eksportowane przez manifest.

Typ:String[]
Position:Named
Domyślna wartość:* (all)
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-Author

Określa autora modułu.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz autora o nazwie bieżącego użytkownika.

Typ:String
Position:Named
Domyślna wartość:Name of the current user
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ClrVersion

Określa minimalną wersję środowiska uruchomieniowego języka wspólnego (CLR) programu Microsoft .NET Framework wymaganego przez moduł.

Uwaga

To ustawienie jest prawidłowe tylko dla wersji programu PowerShell Desktop, takiej jak Windows PowerShell 5.1, i dotyczy tylko wersji programu .NET Framework niższej niż 4.5. To wymaganie nie ma wpływu na nowsze wersje programu PowerShell lub programu .NET Framework.

Typ:Version
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CmdletsToExport

Określa polecenia cmdlet eksportowane przez moduł. Dozwolone są symbole wieloznaczne.

Tego parametru można użyć, aby ograniczyć polecenia cmdlet wyeksportowane przez moduł. Może usuwać polecenia cmdlet z listy wyeksportowanych poleceń cmdlet, ale nie może dodawać poleceń cmdlet do listy.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz CmdletsToExport z wartością * (wszystkie), co oznacza, że wszystkie polecenia cmdlet zdefiniowane w module są eksportowane przez manifest.

Typ:String[]
Position:Named
Domyślna wartość:* (all)
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-CompanyName

Identyfikuje firmę lub dostawcę, który utworzył moduł.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz CompanyName o wartości "Nieznany".

Typ:String
Position:Named
Domyślna wartość:"Unknown"
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CompatiblePSEditions

Określa zgodne moduły PSEditions. Aby uzyskać informacje na temat programu PSEdition, zobacz Moduły z zgodnymi wersjami programu PowerShell.

Typ:String[]
Dopuszczalne wartości:Desktop, Core
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Określa oświadczenie o prawach autorskich dla modułu.

Jeśli pominiesz ten parametr, New-ModuleManifest utworzy klucz praw autorskich (c) <year> <username>. All rights reserved. z wartością, gdzie <year> jest bieżącym rokiem i <username> jest wartością klucza autora .

Typ:String
Position:Named
Domyślna wartość:(c) <year> <username>. All rights reserved.
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DefaultCommandPrefix

Określa prefiks, który jest poprzedzony nounami wszystkich poleceń w module podczas ich importowania do sesji. Wprowadź ciąg prefiksu. Prefiksy uniemożliwiają konflikty nazw poleceń w sesji użytkownika.

Użytkownicy modułu mogą zastąpić ten prefiks, określając parametr Prefiks polecenia Import-Module cmdlet.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Description

Opisuje zawartość modułu.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DotNetFrameworkVersion

Określa minimalną wersję programu Microsoft .NET Framework wymaganą przez moduł.

Uwaga

To ustawienie jest prawidłowe tylko dla wersji programu PowerShell Desktop, takiej jak Windows PowerShell 5.1, i dotyczy tylko wersji programu .NET Framework niższej niż 4.5. To wymaganie nie ma wpływu na nowsze wersje programu PowerShell lub programu .NET Framework.

Typ:Version
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-DscResourcesToExport

Określa zasoby konfiguracji żądanego stanu (DSC), które eksportuje moduł. Dozwolone są symbole wieloznaczne.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-ExternalModuleDependencies

Lista modułów zewnętrznych, od których zależy ten moduł.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-FileList

Określa wszystkie elementy uwzględnione w module.

Ten klucz jest przeznaczony do działania jako spis modułu. Pliki wymienione w kluczu są uwzględniane podczas publikowania modułu, ale żadne funkcje nie są automatycznie eksportowane.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-FormatsToProcess

Określa pliki formatowania (.ps1xml), które są uruchamiane podczas importowania modułu.

Podczas importowania modułu program PowerShell uruchamia Update-FormatData polecenie cmdlet z określonymi plikami. Ponieważ pliki formatowania nie są ograniczone, mają wpływ na wszystkie stany sesji w sesji.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-FunctionsToExport

Określa funkcje eksportowane przez moduł. Dozwolone są symbole wieloznaczne.

Za pomocą tego parametru można ograniczyć funkcje eksportowane przez moduł. Może usuwać funkcje z listy wyeksportowanych aliasów, ale nie może dodawać funkcji do listy.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz FunctionsToExport z wartością * (wszystkie), co oznacza, że wszystkie funkcje zdefiniowane w module są eksportowane przez manifest.

Typ:String[]
Position:Named
Domyślna wartość:* (all)
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-Guid

Określa unikatowy identyfikator modułu. Identyfikator GUID może służyć do rozróżnienia między modułami o tej samej nazwie.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest utworzy klucz GUID w manifeście i wygeneruje identyfikator GUID dla wartości.

Aby utworzyć nowy identyfikator GUID w programie PowerShell, wpisz [guid]::NewGuid().

Typ:Guid
Position:Named
Domyślna wartość:A GUID generated for the module
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-HelpInfoUri

Określa adres internetowy pliku XML HelpInfo dla modułu. Wprowadź identyfikator URI (Uniform Resource Identifier), który zaczyna się od http lub https.

Plik XML HelpInfo obsługuje funkcję Updatable Help, która została wprowadzona w programie PowerShell 3.0. Zawiera on informacje o lokalizacji plików pomocy do pobrania dla modułu oraz numery wersji najnowszych plików pomocy dla każdego obsługiwanego ustawień regionalnych.

Aby uzyskać informacje o aktualizowalnej pomocy, zobacz about_Updatable_Help. Aby uzyskać informacje o pliku XML HelpInfo, zobacz Obsługa aktualizowalnej pomocy.

Ten parametr został wprowadzony w programie PowerShell 3.0.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-IconUri

Określa adres URL ikony modułu. Określona ikona jest wyświetlana na stronie internetowej galerii dla modułu.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-LicenseUri

Określa adres URL postanowień licencyjnych dla modułu.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ModuleList

Wyświetla listę wszystkich modułów zawartych w tym module.

Wprowadź każdą nazwę modułu jako ciąg lub jako tabelę skrótów z kluczami ModuleName i ModuleVersion . Tabela skrótów może również mieć opcjonalny klucz GUID . W wartości parametru można łączyć ciągi i tabele skrótów.

Ten klucz jest przeznaczony do działania jako spis modułu. Moduły wymienione w wartości tego klucza nie są przetwarzane automatycznie.

Typ:Object[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ModuleVersion

Określa wersję modułu.

Ten parametr nie jest wymagany, ale klucz ModuleVersion jest wymagany w manifeście. Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz ModuleVersion o wartości 1.0.

Typ:Version
Position:Named
Domyślna wartość:1.0
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-NestedModules

Określa moduły skryptu (.psm1) i moduły binarne (.dll), które są importowane do stanu sesji modułu. Pliki w kluczu NestedModules są uruchamiane w kolejności, w której są wymienione w wartości.

Wprowadź każdą nazwę modułu jako ciąg lub jako tabelę skrótów z kluczami ModuleName i ModuleVersion . Tabela skrótów może również mieć opcjonalny klucz GUID . W wartości parametru można łączyć ciągi i tabele skrótów.

Zazwyczaj zagnieżdżone moduły zawierają polecenia, których moduł główny potrzebuje do jego wewnętrznego przetwarzania. Domyślnie polecenia w zagnieżdżonych modułach są eksportowane ze stanu sesji modułu do stanu sesji obiektu wywołującego, ale moduł główny może ograniczyć polecenia, które eksportuje. Na przykład za pomocą Export-ModuleMember polecenia .

Moduły zagnieżdżone w stanie sesji modułu są dostępne dla modułu głównego, ale nie są zwracane przez Get-Module polecenie w stanie sesji wywołującego.

Skrypty (.ps1) wymienione w kluczu NestedModules są uruchamiane w stanie sesji modułu, a nie w stanie sesji wywołującego. Aby uruchomić skrypt w stanie sesji obiektu wywołującego, wyświetl nazwę pliku skryptu w wartości klucza ScriptsToProcess w manifeście.

Typ:Object[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PassThru

Zapisuje wynikowy manifest modułu w konsoli i tworzy .psd1 plik. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę i nazwę pliku nowego manifestu modułu. Wprowadź ścieżkę i nazwę pliku z .psd1 rozszerzeniem nazwy pliku, takim jak $pshome\Modules\MyModule\MyModule.psd1. Parametr Path jest wymagany.

Jeśli określisz ścieżkę do istniejącego pliku, zastąpi go bez ostrzeżenia, New-ModuleManifest chyba że plik ma atrybut tylko do odczytu.

Manifest powinien znajdować się w katalogu modułu, a nazwa pliku manifestu powinna być taka sama jak nazwa katalogu modułu, ale z .psd1 rozszerzeniem nazwy pliku.

Uwaga

Nie można użyć zmiennych, takich jak $PSHOME lub $HOME, w odpowiedzi na monit o podanie wartości parametru Path . Aby użyć zmiennej, dołącz parametr Path w poleceniu .

Typ:String
Position:1
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PowerShellHostName

Określa nazwę programu hosta programu PowerShell wymaganego przez moduł. Wprowadź nazwę programu hosta, na przykład Host ISE programu Windows PowerShell lub ConsoleHost. Symbole wieloznaczne nie są dozwolone.

Aby znaleźć nazwę programu hosta, w programie wpisz $Host.Name.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PowerShellHostVersion

Określa minimalną wersję programu hosta programu PowerShell, który współpracuje z modułem. Wprowadź numer wersji, taki jak 1.1.

Typ:Version
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PowerShellVersion

Określa minimalną wersję programu PowerShell, która działa z tym modułem. Można na przykład wprowadzić wartość 1.0, 2.0 lub 3.0 jako wartość parametru. Musi być w formacie X.X. Jeśli na przykład prześlesz 5polecenie , program PowerShell zgłosi błąd.

Typ:Version
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Prerelease

Ciąg wersji wstępnej tego modułu. Dodanie ciągu wersji wstępnej identyfikuje moduł jako wersję wstępną. Po opublikowaniu modułu w Galeria programu PowerShell te dane są używane do identyfikowania pakietów wstępnych. Aby uzyskać pakiety wersji wstępnej z galerii, należy użyć parametru AllowPrerelease z poleceniami Find-ModulePowerShellGet , , Install-ModuleUpdate-Modulei Save-Module.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PrivateData

Określa dane przekazywane do modułu podczas importowania.

Typ:Object
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ProcessorArchitecture

Określa architekturę procesora wymaganą przez moduł. Prawidłowe wartości to x86, AMD64, IA64, MSIL i None (nieznane lub nieokreślone).

Typ:ProcessorArchitecture
Dopuszczalne wartości:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ProjectUri

Określa adres URL strony internetowej dotyczącej tego projektu.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ReleaseNotes

Określa informacje o wersji.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RequiredAssemblies

Określa pliki zestawu (.dll), których wymaga moduł. Wprowadź nazwy plików zestawu. Program PowerShell ładuje określone zestawy przed aktualizacją typów lub formatów, importowaniem zagnieżdżonych modułów lub importowaniem pliku modułu określonego w wartości klucza RootModule .

Użyj tego parametru, aby wyświetlić listę wszystkich zestawów, których wymaga moduł, w tym zestawów, które muszą zostać załadowane w celu zaktualizowania wszystkich plików formatowania lub typów wymienionych w kluczach FormatsToProcess lub TypesToProcess , nawet jeśli te zestawy są również wyświetlane jako moduły binarne w kluczu NestedModules .

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RequiredModules

Określa moduły, które muszą znajdować się w stanie sesji globalnej. Jeśli wymagane moduły nie są w stanie sesji globalnej, program PowerShell je importuje. Jeśli wymagane moduły nie są dostępne, Import-Module polecenie zakończy się niepowodzeniem.

Wprowadź każdą nazwę modułu jako ciąg lub jako tabelę skrótów z kluczami ModuleName i ModuleVersion . Tabela skrótów może również mieć opcjonalny klucz GUID . W wartości parametru można łączyć ciągi i tabele skrótów.

W programie PowerShell 2.0 Import-Module nie importuje automatycznie wymaganych modułów. Sprawdza tylko, czy wymagane moduły znajdują się w stanie sesji globalnej.

Typ:Object[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RequireLicenseAcceptance

Flaga wskazująca, czy moduł wymaga jawnej akceptacji użytkownika w przypadku instalacji, aktualizacji lub zapisania.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RootModule

Określa plik podstawowy lub główny modułu. Wprowadź nazwę pliku skryptu (), moduł skryptu (), manifest.psd1 modułu (.psm1), zestaw (), plik XML definicji polecenia cmdlet (.dll.cdxml) lub przepływ pracy (.xaml)..ps1 Po zaimportowaniu modułu elementy członkowskie wyeksportowane z pliku głównego modułu są importowane do stanu sesji obiektu wywołującego.

Jeśli moduł ma plik manifestu i nie określono żadnego pliku głównego w kluczu RootModule , manifest staje się plikiem podstawowym modułu, a moduł staje się modułem manifestu (ModuleType = Manifest).

Aby wyeksportować elementy członkowskie z modułu lub .psm1 .dll pliki z manifestem, nazwy tych plików muszą być określone w wartościach kluczy RootModule lub NestedModules w manifeście. W przeciwnym razie ich członkowie nie są eksportowani.

Uwaga

W programie PowerShell 2.0 ten klucz nosił nazwę ModuleToProcess. Możesz użyć nazwy parametru RootModule lub aliasu ModuleToProcess .

Typ:String
Aliasy:ModuleToProcess
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ScriptsToProcess

Określa pliki skryptu (.ps1), które są uruchamiane w stanie sesji wywołującego podczas importowania modułu. Tych skryptów można użyć do przygotowania środowiska, tak jak skrypt logowania.

Aby określić skrypty uruchamiane w stanie sesji modułu, użyj klucza NestedModules .

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Tags

Określa tablicę tagów.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-TypesToProcess

Określa pliki typu (.ps1xml), które są uruchamiane po zaimportowaniu modułu.

Podczas importowania modułu program PowerShell uruchamia Update-TypeData polecenie cmdlet z określonymi plikami. Ponieważ pliki typu nie są ograniczone, mają wpływ na wszystkie stany sesji w sesji.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-VariablesToExport

Określa zmienne eksportowane przez moduł. Dozwolone są symbole wieloznaczne.

Tego parametru można użyć, aby ograniczyć zmienne eksportowane przez moduł. Może usunąć zmienne z listy wyeksportowanych zmiennych, ale nie może dodać zmiennych do listy.

Jeśli ten parametr zostanie pominięty, New-ModuleManifest zostanie utworzony klucz VariablesToExport z wartością * (wszystkie), co oznacza, że wszystkie zmienne zdefiniowane w module są eksportowane przez manifest.

Typ:String[]
Position:Named
Domyślna wartość:* (all)
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:True

-WhatIf

Pokazuje, co się stanie w przypadku New-ModuleManifest uruchomienia. Polecenie cmdlet nie jest uruchamiane.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

None

Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.

String

Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca ciąg reprezentujący manifest modułu.

Uwagi

New-ModuleManifest uruchomione na platformach Windows i innych niż Windows tworzy pliki manifestu modułu (.psd1) zakodowane jako UTF8NoBOM.

Manifesty modułów są zwykle opcjonalne. Jednak manifest modułu jest wymagany do wyeksportowania zestawu zainstalowanego w globalnej pamięci podręcznej zestawów.

Aby dodać lub zmienić pliki w $pshome\Modules katalogu, uruchom program PowerShell przy użyciu opcji Uruchom jako administrator .

Uwaga

Począwszy od programu PowerShell 6.2, program PowerShell próbuje załadować wszystkie pliki DLL wymienione we właściwości FileList manifestu modułu. Natywne biblioteki DLL są w pliku FileList nie można załadować w procesie i błąd jest ignorowany. Wszystkie zarządzane biblioteki DLL są ładowane w procesie. To zachowanie zostało usunięte w programie PowerShell 7.1.

W programie PowerShell 2.0 wiele parametrów było obowiązkowych New-ModuleManifest , mimo że nie były wymagane w manifeście modułu. Począwszy od programu PowerShell 3.0, tylko parametr Path jest obowiązkowy.

Sesja jest wystąpieniem środowiska wykonawczego programu PowerShell. Sesja może mieć co najmniej jeden stan sesji. Domyślnie sesja ma tylko stan sesji globalnej, ale każdy zaimportowany moduł ma własny stan sesji. Stany sesji umożliwiają uruchamianie poleceń w module bez wpływu na stan sesji globalnej.

Stan sesji wywołującego to stan sesji, do którego jest importowany moduł. Zazwyczaj odnosi się on do stanu sesji globalnej, ale gdy moduł importuje zagnieżdżone moduły, obiekt wywołujący jest modułem, a stan sesji wywołującego jest stanem sesji modułu.