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 |
-Copyright
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 5
polecenie , 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-Module
PowerShellGet , , Install-Module
Update-Module
i 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.
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.