about_Module_Manifests
Krótki opis
Opisuje ustawienia i rozwiązania dotyczące pisania plików manifestu modułu.
Długi opis
Manifest modułu to plik danych programu PowerShell (.psd1
) zawierający tabelę skrótów.
Pary klucz-wartość w tabeli skrótów opisują zawartość i atrybuty modułu, definiują wymagania wstępne i kontrolują sposób przetwarzania składników.
Manifesty nie są wymagane do załadowania modułu, ale są one wymagane do opublikowania modułu w Galeria programu PowerShell. Manifesty umożliwiają również oddzielenie implementacji modułu od sposobu ładowania. Za pomocą manifestu można zdefiniować wymagania, zgodność, kolejność ładowania i nie tylko.
W przypadku użycia New-ModuleManifest
bez określania żadnych parametrów ustawień manifestu zapisuje minimalny plik manifestu. Poniższy fragment kodu przedstawia te domyślne dane wyjściowe, zwieńczone komentarzem i odstępami dla zwięzłości:
@{
# RootModule = ''
ModuleVersion = '1.0'
# CompatiblePSEditions = @()
GUID = 'e7184b71-2527-469f-a50e-166b612dfb3b'
Author = 'username'
CompanyName = 'Unknown'
Copyright = '(c) 2022 username. All rights reserved.'
# Description = ''
# PowerShellVersion = ''
# PowerShellHostName = ''
# PowerShellHostVersion = ''
# DotNetFrameworkVersion = ''
# CLRVersion = ''
# ProcessorArchitecture = ''
# RequiredModules = @()
# RequiredAssemblies = @()
# ScriptsToProcess = @()
# TypesToProcess = @()
# FormatsToProcess = @()
# NestedModules = @()
FunctionsToExport = @()
CmdletsToExport = @()
VariablesToExport = '*'
AliasesToExport = @()
# DscResourcesToExport = @()
# ModuleList = @()
# FileList = @()
PrivateData = @{
PSData = @{
# Tags = @()
# LicenseUri = ''
# ProjectUri = ''
# IconUri = ''
# ReleaseNotes = ''
} # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfoURI = ''
# DefaultCommandPrefix = ''
}
Aby zweryfikować manifest modułu przed opublikowaniem modułu, możesz użyć polecenia Test-ModuleManifest
.
Test-ModuleManifest
Zwraca błąd, jeśli manifest jest nieprawidłowy lub nie można zaimportować modułu do bieżącej sesji, ponieważ sesja nie spełnia wymagań ustawionych w manifeście.
Używanie kodu skryptu w manifeście modułu
Wartości przypisane do ustawień w pliku manifestu mogą być wyrażeniami, które są oceniane przez program PowerShell. Dzięki temu można tworzyć ścieżki i warunkowo przypisywać wartości na podstawie zmiennych.
Podczas importowania modułu przy użyciu Import-Module
programu manifest jest oceniany w Restricted
trybie języka.
Restricted
mode ogranicza polecenia i zmienne, których można użyć.
Dozwolone polecenia
Import-LocalizedData
ConvertFrom-StringData
Write-Host
Out-Host
Join-Path
Dozwolone zmienne
$PSScriptRoot
$PSEdition
$EnabledExperimentalFeatures
- Dowolne zmienne środowiskowe, takie jak
$ENV:TEMP
Aby uzyskać więcej informacji, zobacz about_Language_Modes.
Ustawienia manifestu
W poniższych sekcjach szczegółowo opisano każde dostępne ustawienie w manifeście modułu i sposób ich używania. Zaczynają się od synonimu ustawienia i są następnie macierzą zawierającą listę:
- Typ danych wejściowych: typ obiektu, który można określić dla tego ustawienia w manifeście.
-
Wymagane: jeśli ta wartość to
Yes
, ustawienie jest wymagane zarówno do zaimportowania modułu, jak i opublikowania go w Galeria programu PowerShell. Jeśli jestNo
to , nie jest to wymagane. Jeśli jest toPowerShell Gallery
element , jest wymagany tylko do publikowania w Galeria programu PowerShell. - Wartość, jeśli nie ustawiono: wartość tego ustawienia ma wartość zaimportowaną, a nie jawnie ustawioną.
- Akceptuje symbole wieloznaczne: czy to ustawienie może przyjmować wartość wieloznaczny, czy nie.
Moduł główny
To ustawienie określa plik podstawowy lub główny modułu. Po zaimportowaniu modułu elementy członkowskie wyeksportowane przez plik modułu głównego są importowane do stanu sesji elementu wywołującego.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wartość musi być ścieżką do jednej z następujących wartości:
- skrypt (
.ps1
) - moduł skryptu (
.psm1
) - manifest modułu (
.psd1
) - zestaw (
.dll
) - plik XML definicji polecenia cmdlet (
.cdxml
) - przepływ pracy programu Windows PowerShell 5.1 (
.xaml
)
Ścieżka powinna być względna względem manifestu modułu.
Jeśli manifest modułu nie ma pliku głównego został wyznaczony w kluczu RootModule , manifest staje się plikiem podstawowym modułu, a moduł staje się modułem manifestu (ModuleType = Manifest). Po zdefiniowaniu modułu RootModule typ modułu jest określany na podstawie używanego rozszerzenia pliku:
- plik lub
.ps1
sprawia, że.psm1
typ modułu Script - plik sprawia,
.psd1
że typ modułu Manifest - plik sprawia, że
.dll
typ modułu Binary - plik sprawia, że
.cdxml
typ modułu CIM - plik sprawia, że
.xaml
typ modułu Workflow
Domyślnie wszystkie elementy członkowskie modułu w module RootModule są eksportowane.
Napiwek
Szybkość ładowania modułu różni się między typami modułów binarnych, skryptów i modelu CIM . Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące tworzenia modułów programu PowerShell
Na przykład typ modułu tego modułu to Manifest. Jedynymi członkami modułu, które ten moduł może eksportować, są te zdefiniowane w modułach określonych za pomocą ustawienia NestedModules .
@{
RootModule = ''
}
Uwaga
To ustawienie może być również określone w manifestach modułu jako ModuleToProcess. Chociaż ta nazwa tego ustawienia jest prawidłowa, najlepszym rozwiązaniem jest użycie modułu RootModule .
ModuleVersion
To ustawienie określa wersję modułu. Jeśli w systemie istnieje wiele wersji modułu, najnowsza wersja jest domyślnie ładowana po uruchomieniu polecenia Import-Module
.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Tak |
Wartość, jeśli nie jest zdenerwowana | Brak |
Akceptuje symbole wieloznaczne | Nie. |
Wartość tego ustawienia musi być konwertowana na System.Version
wartość po uruchomieniu polecenia Import-Module
.
Na przykład ten manifest deklaruje wersję modułu jako '1.2.3'
.
@{
ModuleVersion = '1.2.3'
}
Podczas importowania modułu i sprawdzania właściwości Version zwróć uwagę, że jest to obiekt System.Version , a nie ciąg:
$ExampleModule = Import-Module example.psd1
$ExampleModule.Version
$ExampleModule.Version.GetType().Name
Major Minor Build Revision
----- ----- ----- --------
1 2 3 -1
Version
Zgodne wersjePSEdition
To ustawienie określa zgodne moduły PSEditions.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Zaakceptowane wartości |
Desktop , Core |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Jeśli wartość tego ustawienia to $null
, moduł można zaimportować niezależnie od psEdition sesji. Można ustawić ją na jedną lub więcej akceptowanych wartości.
Aby uzyskać informacje o programie PSEdition, zobacz:
- about_PowerShell_Editions
- Moduły z zgodnymi wersjami programu PowerShell.
Po zdefiniowaniu tego ustawienia moduł można zaimportować tylko do sesji, w której $PSEdition
wartość zmiennej automatycznej jest uwzględniona w ustawieniu.
Uwaga
Ponieważ zmienna $PSEdition
automatyczna została wprowadzona w wersji 5.1, starsze wersje programu Windows PowerShell nie mogą załadować modułu korzystającego z ustawienia CompatiblePSEditions .
Możesz na przykład zaimportować ten manifest modułu w dowolnej sesji:
@{
# CompatiblePSEditions = @()
}
Po określeniu ustawienia ten moduł można zaimportować tylko w sesjach, w których $PSEdition
wartość zmiennej automatycznej to Core
.
@{
CompatiblePSEditions = @('Core')
}
Identyfikator GUID
To ustawienie określa unikatowy identyfikator modułu. Identyfikator GUID służy do rozróżniania modułów o tej samej nazwie.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | 00000000-0000-0000-0000-000000000000 |
Akceptuje symbole wieloznaczne | Nie. |
Wartość tego ustawienia musi być konwertowana na System.Guid
wartość po uruchomieniu polecenia Import-Module
.
Uwaga
Chociaż nie jest to wymagane ustawienie, nie określa identyfikatora GUID w manifeście nie ma żadnych korzyści i może prowadzić do kolizji nazw modułów.
Możesz utworzyć nowy identyfikator GUID do użycia w manifeście:
New-Guid | Select-Object -ExpandProperty Guid
8456b025-2fa5-4034-ae47-e6305f3917ca
@{
GUID = '8456b025-2fa5-4034-ae47-e6305f3917ca'
}
Jeśli na maszynie znajduje się inny moduł o tej samej nazwie, nadal możesz zaimportować odpowiedni moduł, określając w pełni kwalifikowaną nazwę modułu:
Import-Module -FullyQualifiedName @{
ModuleName = 'Example'
GUID = '8456b025-2fa5-4034-ae47-e6305f3917ca'
ModuleVersion = '1.0.0'
}
Autor
To ustawienie identyfikuje autora modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Galeria programu PowerShell |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Ten manifest deklaruje, że autorem modułu jest zespół ds. środowiska deweloperów firmy Contoso.
@{
Author = 'Contoso Developer Experience Team'
}
CompanyName
To ustawienie identyfikuje firmę lub dostawcę, który utworzył moduł.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Ten manifest deklaruje, że moduł został utworzony przez firmę Contoso, Ltd.
@{
CompanyName = 'Contoso, Ltd.'
}
Prawo autorskie
To ustawienie określa oświadczenie o prawach autorskich dla modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Ten manifest deklaruje oświadczenie o prawach autorskich, które zastrzega sobie wszystkie prawa do firmy Contoso, Ltd. od 2022 r.
@{
Copyright = '(c) 2022 Contoso, Ltd. All rights reserved.'
}
opis
To ustawienie opisuje moduł na wysokim poziomie.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Galeria programu PowerShell |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Ten manifest zawiera krótki opis. Możesz również użyć ciągu tutaj, aby napisać dłuższy lub wielowierszowy opis.
@{
Description = 'Example commands to show a valid module manifest'
}
PowerShellVersion
To ustawienie określa minimalną wersję programu PowerShell, która wymaga tego modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wartość tego ustawienia musi być konwertowana na System.Version
wartość po uruchomieniu polecenia Import-Module
.
Jeśli to ustawienie nie jest ustawione, program PowerShell nie ogranicza importu modułu na podstawie bieżącej wersji.
Na przykład ten manifest deklaruje, że moduł jest zgodny z każdą wersją programu PowerShell i programu Windows PowerShell.
@{
# PowerShellVersion = ''
}
W programie PowerShellVersion ustawionym na 7.2
wartość można zaimportować moduł tylko w programie PowerShell 7.2 lub nowszym.
@{
PowerShellVersion = '7.2'
}
PowerShellHostName
To ustawienie określa nazwę programu hosta programu PowerShell, którego wymaga moduł, na przykład Host ISE programu Windows PowerShell lub ConsoleHost.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Nazwę hosta dla sesji można znaleźć za pomocą $Host.Name
instrukcji . Na przykład można zobaczyć, że hostem sesji zdalnej jest ServerRemoteHost zamiast ConsoleHost:
$Host.Name
Enter-PSSession -ComputerName localhost
$Host.Name
ConsoleHost
[localhost]: PS C:\Users\username\Documents> $Host.Name
ServerRemoteHost
Ten moduł można zaimportować do dowolnego hosta.
@{
# PowerShellHostName = ''
}
W programie PowerShellHostName ustawionym na ServerRemoteHost
wartość można zaimportować moduł tylko w zdalnej sesji programu PowerShell.
@{
PowerShellHostName = 'ServerRemoteHost'
}
PowerShellHostVersion
To ustawienie określa minimalną wersję programu hosta programu PowerShell wymaganego przez moduł.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wartość tego ustawienia musi być konwertowana na System.Version
wartość po uruchomieniu polecenia Import-Module
.
Uwaga
To ustawienie może być używane bez ustawienia PowerShellHostName , ale zwiększa szanse na nieoczekiwane zachowanie. Tego ustawienia należy używać tylko wtedy, gdy używasz również ustawienia PowerShellHostName .
Na przykład moduł tego manifestu można zaimportować z dowolnej sesji programu PowerShell uruchomionej w konsoliHost niezależnie od wersji hosta.
@{
PowerShellHostName = 'ConsoleHost'
# PowerShellHostVersion = ''
}
Po ustawieniu parametru PowerShellHostVersion na wartość można zaimportować moduł tylko z dowolnej sesji programu PowerShell uruchomionej w 5.1
, gdzie host ma wersję 5.1 lub nowszą.
@{
PowerShellHostName = 'ConsoleHost'
PowerShellHostVersion = '5.1'
}
DotNetFrameworkVersion
To ustawienie określa minimalną wersję programu Microsoft .NET Framework wymaganą przez moduł.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
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.
Wartość tego ustawienia musi być konwertowana na System.Version
wartość po uruchomieniu polecenia Import-Module
.
Na przykład ten manifest deklaruje, że jego moduł można zaimportować w dowolnej sesji programu PowerShell lub programu Windows PowerShell, niezależnie od wersji programu Microsoft .NET Framework.
@{
# DotNetFrameworkVersion = ''
}
W przypadku ustawienia DotNetFrameworkVersion na 4.0
wartość można zaimportować ten moduł w dowolnej sesji programu Windows PowerShell, w której najnowsza dostępna wersja programu Microsoft .NET Framework wynosi co najmniej 4.0. Można go również zaimportować w dowolnej sesji programu PowerShell.
@{
DotNetFrameworkVersion = '4.0'
}
CLRVersion
To ustawienie określa minimalną wersję środowiska uruchomieniowego języka wspólnego (CLR) programu Microsoft .NET Framework wymaganego przez moduł.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
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.
Wartość tego ustawienia musi być konwertowana na System.Version
wartość po uruchomieniu polecenia Import-Module
.
Na przykład ten manifest deklaruje, że jego moduł można zaimportować w dowolnej sesji programu PowerShell lub programu Windows PowerShell, niezależnie od wersji środowiska CLR programu Microsoft .NET Framework.
@{
# CLRVersion = ''
}
Po ustawieniu clRVersion na 4.0
wartość można zaimportować ten moduł w dowolnej sesji programu Windows PowerShell, w której najnowsza dostępna wersja środowiska CLR wynosi co najmniej 4.0. Można go również zaimportować w dowolnej sesji programu PowerShell.
@{
CLRVersion = '4.0'
}
ProcessorArchitecture
To ustawienie określa architekturę procesora wymaganą przez moduł.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Zaakceptowane wartości |
None , , MSIL , X86 , IA64 , , Amd64 Arm |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | None |
Akceptuje symbole wieloznaczne | Nie. |
Wartość tego ustawienia musi być konwertowana na System.Reflection.ProcessorArchitecture
wartość po uruchomieniu polecenia Import-Module
.
Na przykład ten manifest deklaruje, że jego moduł można zaimportować w dowolnej sesji, niezależnie od architektury procesora systemu.
@{
# ProcessorArchitecture = ''
}
W przypadku ustawienia ProcessorArchitecture na Amd64
wartość można zaimportować ten moduł tylko w sesji uruchomionej na maszynie z zgodną architekturą.
@{
ProcessorArchitecture = 'Amd64'
}
RequiredModules
To ustawienie 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.
Wartość | |
---|---|
Typ danych wejściowych |
System.String[] , System.Collections.Hashtable[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wpisy dla tego ustawienia mogą być nazwą modułu, pełną specyfikacją modułu lub ścieżką do pliku modułu.
Gdy wartość jest ścieżką, ścieżka może być w pełni kwalifikowana lub względna.
Gdy wartość jest nazwą lub specyfikacją modułu, program PowerShell przeszukuje element PSModulePath dla określonego modułu.
Specyfikacja modułu to tabela skrótów zawierająca następujące klucze.
-
ModuleName
- Wymagany. Określa nazwę modułu. -
GUID
- Opcjonalne. Określa identyfikator GUID modułu. - Wymagane jest również określenie co najmniej jednego z trzech poniższych kluczy. Nie
RequiredVersion
można użyć klucza z kluczamiModuleVersion
lubMaximumVersion
. Akceptowalny zakres wersji dla modułu można zdefiniować, określającModuleVersion
razem klucze iMaximumVersion
.-
ModuleVersion
- Określa minimalną akceptowalną wersję modułu. -
RequiredVersion
- Określa dokładną, wymaganą wersję modułu. -
MaximumVersion
- Określa maksymalną akceptowalną wersję modułu.
-
Uwaga
RequiredVersion
Dodano element w programie Windows PowerShell 5.0.
MaximumVersion
Dodano element w programie Windows PowerShell 5.1.
Na przykład ten manifest deklaruje, że jego moduł nie wymaga żadnych innych modułów dla jego funkcji.
@{
# RequiredModules = @()
}
Ten manifest deklaruje, że wymaga modułu PSReadLine. Po uruchomieniu Import-Module
tego manifestu program PowerShell importuje najnowszą wersję programu PSReadLine, która jest dostępna dla sesji. Jeśli żadna wersja nie jest dostępna, importowanie zwraca błąd.
@{
RequiredModules = @(
'PSReadLine'
)
}
Napiwek
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.
Ten manifest deklaruje, że wymaga wersji modułu PSReadLine dostawcy we własnym folderze modułu. Po uruchomieniu Import-Module
tego manifestu program PowerShell importuje dostawcę psReadLine z określonej ścieżki.
@{
RequiredModules = @(
'Vendored\PSReadLine\PSReadLine.psd1'
)
}
Ten manifest deklaruje, że w szczególności wymaga wersji 2.0.0 modułu PSReadLine. Po uruchomieniu Import-Module
tego manifestu program PowerShell importuje wersję 2.0.0 programu PSReadLine, jeśli jest dostępna. Jeśli nie jest dostępna, Import-Module
zwraca błąd.
@{
RequiredModules = @(
@{
ModuleName = 'PSReadLine'
RequiredVersion = '2.0.0'
}
)
}
Ten manifest deklaruje, że wymaga zaimportowania modułu PSReadLine w wersji 2.0.0 lub nowszej.
@{
RequiredModules = @(
@{
ModuleName = 'PSReadLine'
ModuleVersion = '2.0.0'
}
)
}
Ten manifest deklaruje, że wymaga zaimportowania modułu PSReadLine w wersji 2.0.0 lub starszej.
@{
RequiredModules = @(
@{
ModuleName = 'PSReadLine'
MaximumVersion = '2.0.0'
}
)
}
Ten manifest deklaruje, że wymaga zaimportowania modułu PSDesiredStateConfiguration w wersji równej lub wyższej niż 2.0.0, ale nie wyższej niż 2.99.99.
@{
RequiredModules = @(
@{
ModuleName = 'PSDesiredStateConfiguration'
ModuleVersion = '2.0.0'
MaximumVersion = '2.99.99'
}
)
}
RequiredAssemblies
To ustawienie określa pliki zestawu (.dll
), których wymaga moduł.
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 .
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wpisy dla tego ustawienia mogą być nazwą pliku zestawu lub ścieżką do jednego. Wyświetl listę wszystkich wymaganych zestawów, nawet jeśli są one również wyświetlane jako moduły binarne w ustawieniu NestedModules .
Ten manifest wymaga example.dll
zestawu. Przed załadowaniem plików formatowania lub typów określonych w tym manifeście program PowerShell ładuje example.dll
się z Assemblies
folderu znajdującego się w tym samym katalogu co manifest modułu.
@{
RequiredAssemblies = @(
'Assemblies\Example.dll'
)
}
ScriptsToProcess
To ustawienie 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.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Aby określić skrypty uruchamiane w stanie sesji modułu, użyj klucza NestedModules .
Podczas importowania tego manifestu program PowerShell uruchamia element Initialize.ps1
w bieżącej sesji.
@{
ScriptsToProcess = @(
'Scripts\Initialize.ps1'
)
}
Jeśli na przykład Initialize.ps1
zapisuje komunikaty informacyjne i ustawia zmienną $ExampleState
:
if ([string]::IsNullOrEmpty($ExampleState)) {
Write-Information "Example not initialized."
Write-Information "Initializing now..."
$ExampleState = 'Initialized'
} else {
Write-Information "Example already initialized."
}
Podczas importowania modułu skrypt jest uruchamiany, zapisując te komunikaty i ustawienie $ExampleState
w sesji.
$InformationPreference = 'Continue'
"Example State is: $ExampleState"
Import-Module .\example7x.psd1
"Example State is: $ExampleState"
Import-Module .\example7x.psd1 -Force
Example State is:
Example not initialized.
Initializing now...
Example State is: Initialized
Example already initialized.
TypesToProcess
To ustawienie określa pliki typu (.ps1xml
), które są uruchamiane po zaimportowaniu modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
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.
Aby uzyskać więcej informacji na temat typów plików, zobacz about_Types.ps1xml
Na przykład podczas importowania tego manifestu program PowerShell ładuje typy określone w Example.ps1xml
pliku z Types
folderu znajdującego się w tym samym katalogu co manifest modułu.
@{
TypesToProcess = @(
'Types\Example.ps1xml'
)
}
FormatyToProcess
To ustawienie określa pliki formatowania (.ps1xml
), które są uruchamiane podczas importowania modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
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.
Aby uzyskać więcej informacji na temat typów plików, zobacz about_Format.ps1xml
Na przykład podczas importowania tego modułu program PowerShell ładuje formaty określone w Example.ps1xml
pliku z Formats
folderu znajdującego się w tym samym katalogu co manifest modułu.
@{
FormatsToProcess = @(
'Formats\Example.ps1xml'
)
}
Zagnieżdżonemoduły
To ustawienie określa moduły skryptu (.psm1
) i moduły binarne (.dll
), które są importowane do stanu sesji modułu. Można również określić pliki skryptów (.ps1
). Pliki w tym ustawieniu są uruchamiane w kolejności, w której są wyświetlane.
Wartość | |
---|---|
Typ danych wejściowych |
System.String[] , System.Collections.Hashtable[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wpisy dla tego ustawienia mogą być nazwą modułu, pełną specyfikacją modułu lub ścieżką do modułu lub pliku skryptu.
Gdy wartość jest ścieżką, ścieżka może być w pełni kwalifikowana lub względna.
Gdy wartość jest nazwą lub specyfikacją modułu, program PowerShell przeszukuje parametr PSModulePath dla określonego modułu.
Specyfikacja modułu to tabela skrótów zawierająca następujące klucze.
-
ModuleName
- Wymagany. Określa nazwę modułu. -
GUID
- Opcjonalne. Określa identyfikator GUID modułu. - Wymagane jest również określenie co najmniej jednego z trzech poniższych kluczy. Nie
RequiredVersion
można użyć klucza z kluczamiModuleVersion
lubMaximumVersion
. Akceptowalny zakres wersji dla modułu można zdefiniować, określającModuleVersion
razem klucze iMaximumVersion
.-
ModuleVersion
- Określa minimalną akceptowalną wersję modułu. -
RequiredVersion
- Określa dokładną, wymaganą wersję modułu. -
MaximumVersion
- Określa maksymalną akceptowalną wersję modułu.
-
Uwaga
RequiredVersion
Dodano element w programie Windows PowerShell 5.0.
MaximumVersion
Dodano element w programie Windows PowerShell 5.1.
Wszystkie elementy, które należy wyeksportować z zagnieżdżonego modułu, muszą być eksportowane przez zagnieżdżony moduł przy użyciu Export-ModuleMember
polecenia cmdlet lub być wymienione w jednej z właściwości eksportu:
- FunctionsToExport
- Polecenia cmdletToExport
- ZmienneToExport
- AliasyToExport
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 tym ustawieniu są uruchamiane w stanie sesji modułu, a nie w stanie sesji wywołującego. Aby uruchomić skrypt w stanie sesji wywołującego, wyświetl nazwę pliku skryptu w ustawieniu ScriptsToProcess .
Na przykład podczas importowania tego manifestu Helpers.psm1
moduł zostanie załadowany do stanu sesji modułu głównego. Wszystkie polecenia cmdlet zadeklarowane w zagnieżdżonym module są eksportowane, chyba że zostaną one ograniczone w inny sposób.
@{
NestedModules = @(
'Helpers\Helpers.psm1'
)
}
FunctionsToExport
To ustawienie określa funkcje eksportowane przez moduł. To ustawienie umożliwia ograniczenie funkcji eksportowanych przez moduł. Może usuwać funkcje z listy wyeksportowanych funkcji, ale nie może dodawać funkcji do listy.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Tak |
W tym ustawieniu można określić wpisy z symbolami wieloznacznymi. Wszystkie pasujące funkcje na liście wyeksportowanych funkcji są eksportowane.
Napiwek
Aby uzyskać wydajność i możliwość odnajdywania, zawsze należy jawnie wyświetlić listę funkcji, które mają być eksportowane w tym ustawieniu bez używania symboli wieloznacznych.
Na przykład podczas importowania modułu z komentarzem ustawienia wszystkie funkcje w module głównym i wszystkie zagnieżdżone moduły są eksportowane.
@{
# FunctionsToExport = @()
}
Ten manifest jest funkcjonalnie identyczny, aby nie określać ustawienia w ogóle.
@{
FunctionsToExport = '*'
}
W przypadku ustawiania funkcjiToExport jako pustej tablicy podczas importowania tego modułu nie są dostępne żadne funkcje modułu głównego ani eksportowanie zagnieżdżonych modułów.
@{
FunctionsToExport = @()
}
Uwaga
Jeśli utworzysz manifest modułu za pomocą polecenia i nie określisz parametru New-ModuleManifest
FunctionsToExport , utworzony manifest ma to ustawienie określone jako pusta tablica. Jeśli nie edytujesz manifestu, żadne funkcje z modułu nie zostaną wyeksportowane.
Gdy funkcja FunctionsToExport jest ustawiona tak, aby zawierała Get-Example
tylko funkcję, podczas importowania tego modułu jest udostępniana tylko Get-Example
funkcja, nawet jeśli inne funkcje zostały wyeksportowane przez moduł główny lub wszystkie zagnieżdżone moduły.
@{
FunctionsToExport = @(
'Get-Example'
)
}
W przypadku zestawu FunctionsToExport z ciągiem wieloznacznymi podczas importowania tej funkcji dowolna funkcja, której nazwa kończy się Example
na, jest udostępniana, nawet jeśli inne funkcje zostały wyeksportowane jako elementy członkowskie modułu głównego lub dowolnych zagnieżdżonych modułów.
@{
FunctionsToExport = @(
'*Example'
)
}
Polecenia cmdletToExport
To ustawienie określa polecenia cmdlet eksportowane przez moduł. To ustawienie umożliwia ograniczenie poleceń cmdlet wyeksportowanych przez moduł. Może usuwać polecenia cmdlet z listy wyeksportowanych elementów członkowskich modułu, ale nie może dodawać poleceń cmdlet do listy.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Tak |
W tym ustawieniu można określić wpisy z symbolami wieloznacznymi. Wszystkie pasujące polecenia cmdlet na liście wyeksportowanych poleceń cmdlet są eksportowane.
Napiwek
Aby uzyskać wydajność i możliwość odnajdywania, zawsze należy jawnie wyświetlić listę poleceń cmdlet, które mają być eksportowane przez moduł w tym ustawieniu bez używania symboli wieloznacznych.
Na przykład podczas importowania modułu z tym ustawieniem oznaczono jako komentarz, wszystkie polecenia cmdlet w module głównym i wszystkie zagnieżdżone moduły są eksportowane.
@{
# CmdletsToExport = @()
}
Ten manifest jest funkcjonalnie identyczny, aby nie określać ustawienia w ogóle.
@{
CmdletsToExport = '*'
}
W przypadku polecenia CmdletsToExport ustawionego jako pusta tablica podczas importowania tego modułu żadne polecenia cmdlet nie są dostępne dla modułu głównego ani eksportowania żadnych zagnieżdżonych modułów.
@{
CmdletsToExport = @()
}
Uwaga
Jeśli utworzysz manifest modułu za pomocą polecenia i nie określisz parametru New-ModuleManifest
CmdletsToExport , utworzony manifest ma to ustawienie określone jako pusta tablica. O ile manifest nie zostanie edytowany, żadne polecenia cmdlet z modułu nie zostaną wyeksportowane.
Za pomocą polecenia CmdletsToExport ustawionego Get-Example
na dołączenie polecenia cmdlet tylko podczas importowania tego modułu Get-Example
tylko polecenie cmdlet jest udostępniane, nawet jeśli inne polecenia cmdlet zostały wyeksportowane przez moduł główny lub wszystkie zagnieżdżone moduły.
@{
CmdletsToExport = @(
'Get-Example'
)
}
Za pomocą polecenia CmdletsToExport ustawionego za pomocą ciągu wieloznakowego podczas importowania tego modułu wszystkie polecenia cmdlet, których nazwa kończy się Example
na, jest dostępna, nawet jeśli inne polecenia cmdlet zostały wyeksportowane jako elementy członkowskie modułu głównego lub dowolnych zagnieżdżonych modułów.
@{
CmdletsToExport = @(
'*Example'
)
}
ZmienneToExport
To ustawienie określa zmienne eksportowane przez moduł. To ustawienie umożliwia ograniczenie zmiennych eksportowanych przez moduł. Może usuwać zmienne z listy wyeksportowanych elementów członkowskich modułu, ale nie może dodawać zmiennych do listy.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Tak |
W tym ustawieniu można określić wpisy z symbolami wieloznacznymi. Wszystkie pasujące zmienne na liście wyeksportowanych elementów członkowskich modułu są eksportowane.
Napiwek
Aby uzyskać wydajność i możliwość odnajdywania, zawsze należy jawnie wyświetlić listę zmiennych, które mają być eksportowane w tym ustawieniu bez używania symboli wieloznacznych.
Na przykład podczas importowania modułu z tym ustawieniem oznaczono jako komentarz, wszystkie zmienne w module głównym i wszystkie zagnieżdżone moduły są eksportowane.
@{
# VariablesToExport = @()
}
Ten manifest jest funkcjonalnie identyczny, aby nie określać ustawienia w ogóle.
@{
VariablesToExport = '*'
}
Uwaga
Jeśli utworzysz manifest modułu za pomocą polecenia i nie określisz parametru New-ModuleManifest
VariablesToExport , utworzony manifest ma to ustawienie określone jako '*'
. Jeśli nie edytujesz manifestu, wszystkie zmienne z modułu zostaną wyeksportowane.
W przypadku ustawienia VariablesToExport jako pustej tablicy podczas importowania tego modułu nie są dostępne żadne zmienne modułu głównego ani żaden eksport zagnieżdżonych modułów.
@{
VariablesToExport = @()
}
W przypadku ustawienia ZmienneToExport tak, aby zawierała tylko zmienną SomeExample
, podczas importowania tego modułu jest udostępniana tylko $SomeExample
zmienna, nawet jeśli inne zmienne zostały wyeksportowane przez moduł główny lub dowolne zagnieżdżone moduły.
@{
VariablesToExport = @(
'SomeExample'
)
}
W przypadku zestawu VariablesToExport z ciągiem wieloznacznymi podczas importowania tej zmiennej, której nazwa kończy się Example
na, jest udostępniana, nawet jeśli inne zmienne zostały wyeksportowane jako elementy członkowskie modułu głównego lub dowolnych zagnieżdżonych modułów.
@{
VariablesToExport = @(
'*Example'
)
}
DscResourcesToExport
To ustawienie określa zasoby DSC eksportowane przez moduł. To ustawienie umożliwia ograniczenie zasobów DSC opartych na klasach, które są eksportowane przez moduł . Może usunąć zasoby DSC z listy wyeksportowanych elementów członkowskich modułu, ale nie może dodać zasobów DSC do listy.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Tak |
W tym ustawieniu można określić wpisy z symbolami wieloznacznymi. Wszystkie pasujące zasoby DSC oparte na klasie w module są eksportowane.
Napiwek
Aby można było odnajdywać, zawsze należy jawnie wyświetlić listę wszystkich zasobów DSC eksportowanych przez moduł.
Aby uzyskać więcej informacji na temat tworzenia i używania zasobów DSC, zobacz dokumentację dsc.
Ten manifest eksportuje wszystkie zasoby DSC oparte na klasach i moF zdefiniowane w module głównym i wszystkie zagnieżdżone moduły.
@{
# DscResourcesToExport = @()
}
Ten manifest eksportuje wszystkie zasoby DSC oparte na moF zdefiniowane w module głównym i wszystkie zagnieżdżone moduły, ale tylko jeden zagnieżdżony zasób DSC oparty na klasie, ExampleClassResource
.
@{
DscResourcesToExport = @(
'ExampleClassResource'
)
}
Ten manifest eksportuje wszystkie zasoby DSC, które zawiera. Nawet jeśli zasób MOF nie został wymieniony, moduł nadal go eksportuje.
@{
DscResourcesToExport = @(
'ExampleClassResource'
'ExampleMofResourceFirst'
)
}
Lista modułów
To ustawienie jest informacyjną listą spisu modułów uwzględnionych w tym ustawieniu. Ta lista nie ma wpływu na zachowanie modułu.
Wartość | |
---|---|
Typ danych wejściowych |
System.String[] , System.Collections.Hashtable[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wpisy dla tego ustawienia mogą być nazwą modułu, pełną specyfikacją modułu lub ścieżką do modułu lub pliku skryptu.
Gdy wartość jest ścieżką, ścieżka może być w pełni kwalifikowana lub względna.
Gdy wartość jest nazwą lub specyfikacją modułu, program PowerShell przeszukuje parametr PSModulePath dla określonego modułu.
Specyfikacja modułu to tabela skrótów zawierająca następujące klucze.
-
ModuleName
- Wymagany. Określa nazwę modułu. -
GUID
- Opcjonalne. Określa identyfikator GUID modułu. - Wymagane jest również określenie co najmniej jednego z trzech poniższych kluczy. Nie
RequiredVersion
można użyć klucza z kluczamiModuleVersion
lubMaximumVersion
. Akceptowalny zakres wersji dla modułu można zdefiniować, określającModuleVersion
razem klucze iMaximumVersion
.-
ModuleVersion
- Określa minimalną akceptowalną wersję modułu. -
RequiredVersion
- Określa dokładną, wymaganą wersję modułu. -
MaximumVersion
- Określa maksymalną akceptowalną wersję modułu.
-
Uwaga
RequiredVersion
Dodano element w programie Windows PowerShell 5.0.
MaximumVersion
Dodano element w programie Windows PowerShell 5.1.
Ten manifest nie udostępnia informacyjnej listy modułów, które zawiera. Może to być lub nie zawiera modułów. Mimo że to ustawienie nie jest określone, żadne moduły wymienione w module RootModule, ScriptsToProcess lub NestedModules ustawienia nadal zachowują się normalnie.
@{
# ModuleList = @()
}
Ten manifest deklaruje, że jedynymi modułami, które zawiera, są Example.psm1
moduły podrzędne First.psm1
i Second.psm1
w folderze Submodules
.
@{
ModuleList = @(
'Example.psm1'
'Submodules\First.psm1'
'Submodules\Second.psm1'
)
}
Lista plików
To ustawienie jest informacyjną listą spisu plików zawartych w tym module. Ta lista nie ma wpływu na zachowanie modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String[] |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Tak |
Wpisy dla tego ustawienia powinny być ścieżką względną do pliku z folderu zawierającego manifest modułu.
Gdy użytkownik wywołuje Get-Module
manifest ze zdefiniowanym tym ustawieniem, właściwość FileList zawiera pełną ścieżkę do tych plików, łącząc ścieżkę modułu ze ścieżką względną każdego wpisu.
Ten manifest nie zawiera listy jego plików.
@{
# FileList = @()
}
Ten manifest deklaruje, że jedyne pliki, które zawiera, są wymienione w tym ustawieniu.
@{
FileList = @(
'Example.psd1'
'Example.psm1'
'Assemblies\Example.dll'
'Scripts\Initialize.ps1'
'Submodules\First.psm1'
'Submodules\Second.psm1'
)
}
PrivateData
To ustawienie definiuje tabelę skrótów danych, która jest dostępna dla dowolnych poleceń lub funkcji w zakresie modułu głównego.
Wartość | |
---|---|
Typ danych wejściowych | System.Collections.Hashtable |
Wymagane | Galeria programu PowerShell, Crescendo |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Podczas eksportowania manifestu Crescendo w celu utworzenia nowego modułu Export-CrescendoModule
dodaje dwa klucze do usługi PrivateData
- CrescendoGenerated — sygnatura czasowa wyeksportowania modułu
- CrescendoVersion — wersja crescendo używana do eksportowania modułu
Możesz dodać własne klucze do przechowywania metadanych, które chcesz śledzić. Wszystkie klucze dodane do tego ustawienia są dostępne dla funkcji i poleceń cmdlet w module głównym przy użyciu polecenia $MyInvocation.MyCommand.Module.PrivateData
. Tabela skrótów nie jest dostępna w samym zakresie modułu, tylko w poleceniach cmdlet zdefiniowanych w module.
Na przykład ten manifest definiuje klucz PublishedDate w funkcji PrivateData.
@{
PrivateData = @{
PublishedDate = '2022-06-01'
}
}
Polecenia cmdlet w module mogą uzyskiwać dostęp do tej wartości za pomocą zmiennej $MyInvocation
.
Function Get-Stale {
[CmdletBinding()]
param()
$PublishedDate = $MyInvocation.MyCommand.Module.PrivateData.PublishedDate
$CurrentDate = Get-Date
try {
$PublishedDate = Get-Date -Date $PublishedDate -ErrorAction Stop
} catch {
# The date was set in the manifest, set to an invalid value, or
# the script module was directly imported without the manifest.
Throw "Unable to determine published date. Check the module manifest."
}
if ($CurrentDate -gt $PublishedDate.AddDays(30)) {
Write-Warning "This module version was published more than 30 days ago."
} else {
$TimeUntilStale = $PublishedDate.AddDays(30) - $CurrentDate
"This module will be stale in $($TimeUntilStale.Days) days"
}
}
Po zaimportowaniu modułu funkcja używa wartości PrivateData do określenia, kiedy moduł został opublikowany.
Get-Stale -TestDate '2022-06-15'
Get-Stale -TestDate '2022-08-01'
This module will be stale in 16 days
WARNING: This module version was published more than 30 days ago.
PrivateData.PSData
Właściwość podrzędna PSData definiuje tabelę skrótów wartości, które obsługują określone scenariusze rozszerzeń.
Wartość | |
---|---|
Typ danych wejściowych | System.Collections.Hashtable |
Wymagane | Galeria programu PowerShell, funkcje eksperymentalne, moduły Crescendo |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Właściwość podrzędna PSData jest używana w następujących scenariuszach:
- Galeria programu PowerShell — podczas tworzenia manifestu modułu przy użyciu
New-ModuleManifest
polecenia cmdlet wstępnie wypełnia tabelę skrótów PSData z kluczami zastępczymi wymaganymi podczas publikowania modułu w Galeria programu PowerShell. Aby uzyskać więcej informacji na temat manifestów modułów i publikowania w Galeria programu PowerShell, zobacz Package manifest values that impact the Galeria programu PowerShell UI (Wartości manifestu pakietu wpływające na interfejs użytkownika Galeria programu PowerShell). - Funkcje eksperymentalne — metadane dotyczące funkcji eksperymentalnej są przechowywane we właściwości ExperimentalFeatures psData. Właściwość ExperimentalFeatures to tablica tabel skrótów zawierająca nazwę i opis funkcji. Aby uzyskać więcej informacji, zobacz Deklarowanie funkcji eksperymentalnych w modułach.
- Moduły Crescendo — podczas eksportowania manifestu Crescendo w celu utworzenia nowego modułu
Export-CrescendoModule
dodaje wartośćCrescendoBuilt
do właściwości PSData.Tags. Ten tag służy do znajdowania modułów w Galeria programu PowerShell utworzonych przy użyciu narzędzia Crescendo. Aby uzyskać więcej informacji, zobacz Export-CrescendoModule.
Identyfikator HELPInfoURI
To ustawienie określa adres internetowy pliku XML HelpInfo dla modułu.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Wartość tego ustawienia musi być identyfikatorem URI rozpoczynającym się od protokołu 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.
Na przykład ten moduł obsługuje pomoc z możliwością aktualizacji.
@{
HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
}
DefaultCommandPrefix
To ustawienie określa prefiks, który jest poprzedzony do ununs wszystkich poleceń w module podczas ich importowania do sesji. Prefiksy pomagają zapobiegać konfliktom nazw poleceń w sesji użytkownika.
Wartość | |
---|---|
Typ danych wejściowych | System.String |
Wymagane | Nie. |
Wartość, jeśli nie jest zdenerwowana | $null |
Akceptuje symbole wieloznaczne | Nie. |
Użytkownicy modułu mogą zastąpić ten prefiks, określając parametr Prefiks polecenia Import-Module
cmdlet.
To ustawienie zostało wprowadzone w programie PowerShell 3.0.
Po zaimportowaniu tego manifestu wszystkie polecenia cmdlet zaimportowane z tego modułu zostały Example
wstępnie utworzone do nounu w nazwie. Na przykład Get-Item
jest importowany jako Get-ExampleItem
.
@{
DefaultCommandPrefix = 'Example'
}