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 do utworzenia manifestu dla 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 plik wynikowy 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 wymagane wartości parametrów nie są określone.
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 — Twórca 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 pokazują domyślne wartości 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 — Twórca nowego manifestu z niektórymi wstępnie wypełnionymi ustawieniami
W tym przykładzie zostanie utworzony nowy manifest modułu. Używa ona 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 — Twórca manifest, który wymaga innych modułów
W tym przykładzie użyto formatu ciągu, aby określić nazwę modułu BitsTransfer i format tabeli skrótów 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 — Twórca manifest, który obsługuje 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 musi zaczynać się od http lub https. Ta wartość informuje system Pomocy z możliwością aktualizacji, gdzie można znaleźć plik informacji pomocy do aktualizacji HelpInfo XML 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 na temat 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 pobierania modułu Microsoft.PowerShell.Diagnostics przy użyciu parametru List . Polecenie wysyła moduł do Format-List
polecenia cmdlet w celu wyświetlenia wszystkich 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 eksportowane przez moduł. Może usunąć aliasy z listy wyeksportowanych aliasów, ale nie może dodać aliasów do listy.
Jeśli pominiesz ten parametr, New-ModuleManifest
tworzy klucz AliasesToExport z wartością *
(wszystkie), co oznacza, że wszystkie aliasy zdefiniowane w module są eksportowane przez manifest.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Author
Określa autora modułu.
Jeśli pominiesz ten parametr, New-ModuleManifest
utworzysz klucz autora o nazwie bieżącego użytkownika.
Type: | String |
Position: | Named |
Default value: | Name of the current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClrVersion
Określa minimalną wersję środowiska uruchomieniowego języka wspólnego (CLR) .NET Framework firmy Microsoft wymaganej przez moduł.
Uwaga
To ustawienie jest prawidłowe tylko dla wersji programu PowerShell Desktop, takiej jak Windows PowerShell 5.1, i dotyczy tylko wersji .NET Framework starszych niż 4,5. To wymaganie nie ma wpływu na nowsze wersje programu PowerShell lub .NET Framework.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CmdletsToExport
Określa polecenia cmdlet eksportowane przez moduł. Dozwolone są symbole wieloznaczne.
Za pomocą tego parametru można 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 pominięto ten parametr, New-ModuleManifest
tworzy klucz CmdletsToExport z wartością *
(wszystkie), co oznacza, że wszystkie polecenia cmdlet zdefiniowane w module są eksportowane przez manifest.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-CompanyName
Identyfikuje firmę lub dostawcę, który utworzył moduł.
Jeśli pominiesz ten parametr, New-ModuleManifest
zostanie utworzony klucz CompanyName o wartości "Nieznany".
Type: | String |
Position: | Named |
Default value: | "Unknown" |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompatiblePSEditions
Określa zgodne moduły PSEditions. Aby uzyskać informacje o programie PSEdition, zobacz Moduły z zgodnymi wersjami programu PowerShell.
Type: | String[] |
Accepted values: | Desktop, Core |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Copyright
Określa oświadczenie o prawach autorskich dla modułu.
Jeśli pominiesz ten parametr, New-ModuleManifest
tworzy 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 .
Type: | String |
Position: | Named |
Default value: | (c) <year> <username>. All rights reserved. |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultCommandPrefix
Określa prefiks, który jest poprzedzony do ununs 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 Import-Module
Prefix polecenia cmdlet.
Ten parametr został wprowadzony w programie PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Opisuje zawartość modułu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DotNetFrameworkVersion
Określa minimalną wersję .NET Framework firmy Microsoft 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 .NET Framework starszych niż 4,5. To wymaganie nie ma wpływu na nowsze wersje programu PowerShell lub .NET Framework.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DscResourcesToExport
Określa zasoby Desired State Configuration (DSC), które eksportuje moduł. Dozwolone są symbole wieloznaczne.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ExternalModuleDependencies
Lista modułów zewnętrznych, od których zależy ten moduł.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FileList
Określa wszystkie elementy uwzględnione w module.
Ten klucz jest przeznaczony do działania jako spisu modułów. Pliki wymienione w kluczu są uwzględniane podczas publikowania modułu, ale żadne funkcje nie są automatycznie eksportowane.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 pominiesz ten parametr, New-ModuleManifest
tworzy klucz FunctionsToExport z wartością *
(wszystkie), co oznacza, że wszystkie funkcje zdefiniowane w module są eksportowane przez manifest.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Guid
Określa unikatowy identyfikator modułu. Identyfikator GUID może służyć do odróżnienia modułów o tej samej nazwie.
Jeśli pominiesz ten parametr, 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()
.
Type: | Guid |
Position: | Named |
Default value: | A GUID generated for the module |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HelpInfoUri
Określa adres internetowy pliku XML HelpInfo dla modułu. Wprowadź identyfikator URI (Uniform Resource Identifier), który rozpoczyna się od ciągu http lub https.
Plik XML HelpInfo obsługuje funkcję Pomoc do aktualizowania, która została wprowadzona w programie PowerShell 3.0. Zawiera informacje o lokalizacji plików pomocy do pobrania dla modułu oraz numery wersji najnowszych plików pomocy dla każdego obsługiwanego ustawienia regionalne.
Aby uzyskać informacje o aktualizowalnej pomocy, zobacz about_Updatable_Help. Aby uzyskać informacje na temat pliku XML HelpInfo, zobacz Obsługa aktualizowalnej pomocy.
Ten parametr został wprowadzony w programie PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IconUri
Określa adres URL ikony modułu. Określona ikona jest wyświetlana na stronie internetowej galerii modułu.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LicenseUri
Określa adres URL postanowień licencyjnych dla modułu.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ModuleList
Listy wszystkie moduły zawarte w tym module.
Wprowadź nazwę każdego 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 spisu modułów. Moduły wymienione w wartości tego klucza nie są automatycznie przetwarzane.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Version |
Position: | Named |
Default value: | 1.0 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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ą one wymienione w wartości.
Wprowadź nazwę każdego 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 wewnętrznego przetwarzania.
Domyślnie polecenia w modułach zagnieżdżonych są eksportowane ze stanu sesji modułu do stanu sesji obiektu wywołującego, ale moduł główny może ograniczyć eksport poleceń. Na przykład przy użyciu 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.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Zapisuje wynikowy manifest modułu w konsoli i tworzy .psd1
plik. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Określa ścieżkę i nazwę pliku manifestu nowego modułu. Wprowadź ścieżkę i nazwę pliku z .psd1
rozszerzeniem nazwy pliku, takim jak $pshome\Modules\MyModule\MyModule.psd1
. Parametr Ścieżka 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żywać 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 .
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellHostName
Określa nazwę programu hosta programu PowerShell wymaganego przez moduł. Wprowadź nazwę programu hosta, na przykład host Windows PowerShell ISE Host lub ConsoleHost. Symbole wieloznaczne nie są dozwolone.
Aby znaleźć nazwę programu hosta, w programie wpisz $Host.Name
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PowerShellHostVersion
Określa minimalną wersję programu hosta programu PowerShell, który współpracuje z modułem. Wprowadź numer wersji, taki jak 1.1.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 5
plik , program PowerShell zgłosi błąd.
Type: | Version |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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-Module
PowerShellGet , Install-Module
, Update-Module
i Save-Module
.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PrivateData
Określa dane przekazywane do modułu podczas importowania.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProcessorArchitecture
Określa architekturę procesora wymaganą przez moduł. Prawidłowe wartości to x86, AMD64, IA64, MSIL i None (nieznane lub nieokreślone).
Type: | ProcessorArchitecture |
Accepted values: | None, MSIL, X86, IA64, Amd64, Arm |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ProjectUri
Określa adres URL strony internetowej dotyczącej tego projektu.
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ReleaseNotes
Określa informacje o wersji.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredAssemblies
Określa pliki zestawu (.dll
), których wymaga moduł. Wprowadź nazwy plików zestawów.
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 .
Ten parametr służy do wyświetlania listy wszystkich zestawów, których wymaga moduł, w tym zestawów, które muszą zostać załadowane w celu zaktualizowania wszelkich plików formatowania lub typów wymienionych w kluczach FormatsToProcess lub TypesToProcess , nawet jeśli te zestawy są również wymienione jako moduły binarne w kluczu NestedModules .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequiredModules
Określa moduły, które muszą być w stanie sesji globalnej. Jeśli wymagane moduły nie są w stanie sesji globalnej, program PowerShell je zaimportuje. Jeśli wymagane moduły nie są dostępne, Import-Module
polecenie zakończy się niepowodzeniem.
Wprowadź nazwę każdego 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. Po prostu sprawdza, czy wymagane moduły znajdują się w stanie sesji globalnej.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RequireLicenseAcceptance
Flaga wskazująca, czy moduł wymaga jawnej akceptacji użytkownika na potrzeby instalacji, aktualizacji lub zapisania.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-RootModule
Określa plik podstawowy lub główny modułu. Wprowadź nazwę pliku skryptu (), moduł skryptu (.ps1
), manifest modułu (.psm1
.psd1
), zestaw (), plik XML definicji polecenia cmdlet (.dll
.cdxml
) lub przepływ pracy (.xaml
). Po zaimportowaniu modułu elementy członkowskie wyeksportowane z pliku modułu głównego są importowane do stanu sesji obiektu wywołującego.
Jeśli moduł ma plik manifestu i nie wyznaczono 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 .psm1
modułu lub .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 jego aliasu ModuleToProcess .
Type: | String |
Aliases: | ModuleToProcess |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 .
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tags
Określa tablicę tagów.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-TypesToProcess
Określa pliki typu (.ps1xml
), które są uruchamiane podczas importowania modułu.
Podczas importowania modułu program PowerShell uruchamia Update-TypeData
polecenie cmdlet z określonymi plikami.
Ponieważ pliki typów nie są ograniczone, mają wpływ na wszystkie stany sesji w sesji.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VariablesToExport
Określa zmienne eksportowane przez moduł. Dozwolone są symbole wieloznaczne.
Możesz użyć tego parametru, aby ograniczyć zmienne eksportowane przez moduł. Może usuwać zmienne z listy wyeksportowanych zmiennych, ale nie może dodawać zmiennych do listy.
Jeśli pominiesz ten parametr, New-ModuleManifest
tworzy klucz VariablesToExport z wartością *
(wszystkie), co oznacza, że wszystkie zmienne zdefiniowane w module są eksportowane przez manifest.
Type: | String[] |
Position: | Named |
Default value: | * (all) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-WhatIf
Pokazuje, co się stanie w przypadku New-ModuleManifest
uruchomienia. Polecenie cmdlet nie jest uruchamiane.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
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 z opcją 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.