Import-Module
Dodaje moduły do bieżącej sesji.
Składnia
Import-Module
[-Global]
[-Prefix <String>]
[-Name] <String[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Name] <String[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-PSSession <PSSession>
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Name] <String[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <Version>]
[-MaximumVersion <String>]
[-RequiredVersion <Version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-CimSession <CimSession>
[-CimResourceUri <Uri>]
[-CimNamespace <String>]
[<CommonParameters>]
Import-Module
[-Name] <string[]>
-UseWindowsPowerShell
[-Global]
[-Prefix <string>]
[-Function <string[]>]
[-Cmdlet <string[]>]
[-Variable <string[]>]
[-Alias <string[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-MinimumVersion <version>]
[-MaximumVersion <string>]
[-RequiredVersion <version>]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <string>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-FullyQualifiedName] <ModuleSpecification[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-FullyQualifiedName] <ModuleSpecification[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
-PSSession <PSSession>
[<CommonParameters>]
Import-Module
[-FullyQualifiedName] <ModuleSpecification[]>
-UseWindowsPowerShell
[-Global]
[-Prefix <string>]
[-Function <string[]>]
[-Cmdlet <string[]>]
[-Variable <string[]>]
[-Alias <string[]>]
[-Force]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <string>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Assembly] <Assembly[]>
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Import-Module
[-Global]
[-Prefix <String>]
[-Function <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[-Force]
[-SkipEditionCheck]
[-PassThru]
[-AsCustomObject]
[-ModuleInfo] <PSModuleInfo[]>
[-ArgumentList <Object[]>]
[-DisableNameChecking]
[-NoClobber]
[-Scope <String>]
[<CommonParameters>]
Opis
Polecenie Import-Module
cmdlet dodaje jeden lub więcej modułów do bieżącej sesji. Począwszy od programu PowerShell 3.0, zainstalowane moduły są automatycznie importowane do sesji podczas korzystania z dowolnych poleceń lub dostawców w module. Jednak nadal można użyć Import-Module
polecenia , aby zaimportować moduł.
Automatyczne importowanie modułów można wyłączyć przy użyciu zmiennej $PSModuleAutoloadingPreference
preferencji. Aby uzyskać więcej informacji na temat zmiennej $PSModuleAutoloadingPreference
, zobacz about_Preference_Variables.
Moduł to pakiet zawierający elementy członkowskie, których można używać w programie PowerShell. Elementy członkowskie obejmują polecenia cmdlet, dostawców, skrypty, funkcje, zmienne i inne narzędzia i pliki. Po zaimportowaniu modułu można użyć członków modułu w sesji. Aby uzyskać więcej informacji na temat modułów, zobacz about_Modules.
Domyślnie Import-Module
importuje wszystkie elementy członkowskie eksportowane przez moduł, ale można użyć parametrów Alias, Function, Cmdlet i Variable , aby ograniczyć importowane elementy członkowskie. Parametr NoClobber uniemożliwia Import-Module
importowanie elementów członkowskich o takich samych nazwach jak elementy członkowskie w bieżącej sesji.
Import-Module
importuje moduł tylko do bieżącej sesji. Aby zaimportować moduł do każdej nowej sesji, dodaj Import-Module
polecenie do profilu programu PowerShell. Aby uzyskać więcej informacji na temat profilów, zobacz about_Profiles.
Zdalne komputery z systemem Windows z włączoną obsługą komunikacji zdalnej programu PowerShell można zarządzać przez utworzenie programu PSSession na komputerze zdalnym. Następnie użyj parametru PSSession polecenia , Import-Module
aby zaimportować moduły zainstalowane na komputerze zdalnym. W przypadku używania zaimportowanych poleceń w bieżącej sesji polecenia są niejawnie uruchamiane na komputerze zdalnym.
Począwszy od programu Windows PowerShell 3.0, można użyć Import-Module
do importowania modułów usługi Common Information Model (CIM). Moduły ciM definiują polecenia cmdlet w plikach XML definicji polecenia cmdlet (CDXML). Ta funkcja umożliwia używanie poleceń cmdlet, które są implementowane w zestawach kodu niezarządzanego, takich jak te napisane w języku C++.
W przypadku komputerów zdalnych, które nie mają włączonej komunikacji zdalnej programu PowerShell, w tym komputerów, które nie korzystają z systemu operacyjnego Windows, można użyć parametru CIMSession polecenia Import-Module
, aby zaimportować moduły CIM z komputera zdalnego. Zaimportowane polecenia są uruchamiane niejawnie na komputerze zdalnym. CiMSession to połączenie z instrumentacją zarządzania Windows (WMI) na komputerze zdalnym.
Przykłady
Przykład 1. Importowanie członków modułu do bieżącej sesji
W tym przykładzie członkowie modułu PSDiagnostics są importowanych do bieżącej sesji.
Import-Module -Name PSDiagnostics
Przykład 2. Importowanie wszystkich modułów określonych przez ścieżkę modułu
W tym przykładzie wszystkie dostępne moduły są importowane w ścieżce określonej przez zmienną $env:PSModulePath
środowiskową do bieżącej sesji.
Get-Module -ListAvailable | Import-Module
Przykład 3. Importowanie elementów członkowskich kilku modułów do bieżącej sesji
W tym przykładzie zaimportowane są elementy członkowskie modułów PSDiagnostics i Dism do bieżącej sesji.
$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m
Polecenie Get-Module
cmdlet pobiera moduły PSDiagnostics i Dism i zapisuje obiekty w zmiennej $m
. Parametr ListAvailable jest wymagany w przypadku pobierania modułów, które nie zostały jeszcze zaimportowane do sesji.
Parametr ModuleInfo polecenia Import-Module
służy do importowania modułów do bieżącej sesji.
Przykład 4. Importowanie wszystkich modułów określonych przez ścieżkę
W tym przykładzie użyto jawnej ścieżki do zidentyfikowania modułu do zaimportowania.
Import-Module -Name c:\ps-test\modules\test -Verbose
VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'.
VERBOSE: Exporting function 'my-parm'.
VERBOSE: Exporting function 'Get-Parameter'.
VERBOSE: Exporting function 'Get-Specification'.
VERBOSE: Exporting function 'Get-SpecDetails'.
Użycie parametru Verbose powoduje Import-Module
raportowanie postępu podczas ładowania modułu.
Bez parametru Import-Module
Verbose, PassThru lub AsCustomObject nie generuje żadnych danych wyjściowych podczas importowania modułu.
Przykład 5. Ograniczanie elementów członkowskich modułu zaimportowanych do sesji
W tym przykładzie pokazano, jak ograniczyć, które elementy członkowskie modułu są importowane do sesji, oraz wpływ tego polecenia na sesję. Parametr Funkcji ogranicza elementy członkowskie importowane z modułu. Możesz również użyć parametrów Alias, Variable i Cmdlet , aby ograniczyć inne elementy członkowskie importowanych przez moduł.
Polecenie Get-Module
cmdlet pobiera obiekt reprezentujący moduł PSDiagnostics . Właściwość ExportCmdlets zawiera listę wszystkich poleceń cmdlet eksportowanych przez moduł, mimo że nie wszystkie zostały zaimportowane.
Import-Module PSDiagnostics -Function Disable-PSTrace, Enable-PSTrace
(Get-Module PSDiagnostics).ExportedCommands
Key Value
--- -----
Disable-PSTrace Disable-PSTrace
Disable-PSWSManCombinedTrace Disable-PSWSManCombinedTrace
Disable-WSManTrace Disable-WSManTrace
Enable-PSTrace Enable-PSTrace
Enable-PSWSManCombinedTrace Enable-PSWSManCombinedTrace
Enable-WSManTrace Enable-WSManTrace
Get-LogProperties Get-LogProperties
Set-LogProperties Set-LogProperties
Start-Trace Start-Trace
Stop-Trace Stop-Trace
Get-Command -Module PSDiagnostics
CommandType Name Version Source
----------- ---- ------- ------
Function Disable-PSTrace 6.1.0.0 PSDiagnostics
Function Enable-PSTrace 6.1.0.0 PSDiagnostics
Użycie parametru Get-Command
Module polecenia cmdlet pokazuje polecenia zaimportowane z modułu PSDiagnostics. Wyniki potwierdzają, że zaimportowano tylko Disable-PSTrace
polecenia cmdlet i Enable-PSTrace
.
Przykład 6. Importowanie elementów członkowskich modułu i dodawanie prefiksu
W tym przykładzie moduł PSDiagnostics jest importowany do bieżącej sesji, dodaje prefiks do nazw elementów członkowskich, a następnie wyświetla prefiks nazwy składowych. Parametr Import-Module
Prefiks funkcji dodaje x
prefiks do wszystkich elementów członkowskich importowanych z modułu. Prefiks dotyczy tylko elementów członkowskich w bieżącej sesji. Nie zmienia modułu. Parametr PassThru zwraca obiekt modułu reprezentujący zaimportowany moduł.
Import-Module PSDiagnostics -Prefix x -PassThru
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 6.1.0.0 PSDiagnostics {Disable-xPSTrace, Disable-xPSWSManCombinedTrace, Disable-xW...
Get-Command -Module PSDiagnostics
CommandType Name Version Source
----------- ---- ------- ------
Function Disable-xPSTrace 6.1.0.0 PSDiagnostics
Function Disable-xPSWSManCombinedTrace 6.1.0.0 PSDiagnostics
Function Disable-xWSManTrace 6.1.0.0 PSDiagnostics
Function Enable-xPSTrace 6.1.0.0 PSDiagnostics
Function Enable-xPSWSManCombinedTrace 6.1.0.0 PSDiagnostics
Function Enable-xWSManTrace 6.1.0.0 PSDiagnostics
Function Get-xLogProperties 6.1.0.0 PSDiagnostics
Function Set-xLogProperties 6.1.0.0 PSDiagnostics
Function Start-xTrace 6.1.0.0 PSDiagnostics
Function Stop-xTrace 6.1.0.0 PSDiagnostics
Get-Command
pobiera elementy członkowskie zaimportowane z modułu. Dane wyjściowe pokazują, że składowe modułu zostały poprawnie poprzedzone prefiksem.
Przykład 7. Pobieranie i używanie obiektu niestandardowego
W tym przykładzie pokazano, jak pobrać i użyć obiektu niestandardowego zwróconego przez Import-Module
element .
Obiekty niestandardowe obejmują syntetyczne elementy członkowskie reprezentujące każdy z zaimportowanych elementów członkowskich modułu. Na przykład polecenia cmdlet i funkcje w module są konwertowane na metody skryptu obiektu niestandardowego.
Obiekty niestandardowe są przydatne w skryptach. Są one również przydatne, gdy kilka zaimportowanych obiektów ma takie same nazwy. Użycie metody skryptu obiektu jest równoważne określaniu w pełni kwalifikowanej nazwy zaimportowanego elementu członkowskiego, w tym jego nazwy modułu.
Parametr AsCustomObject można używać tylko podczas importowania modułu skryptu. Użyj Get-Module
polecenia , aby określić, które z dostępnych modułów jest modułem skryptu.
Get-Module -List | Format-Table -Property Name, ModuleType -AutoSize
Name ModuleType
---- ----------
Show-Calendar Script
BitsTransfer Manifest
PSDiagnostics Manifest
TestCmdlets Script
...
$a = Import-Module -Name Show-Calendar -AsCustomObject -PassThru
$a | Get-Member
TypeName: System.Management.Automation.PSCustomObject
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Show-Calendar ScriptMethod System.Object Show-Calendar();
$a."Show-Calendar"()
Moduł skryptu Show-Calendar
jest importowany przy użyciu parametru AsCustomObject w celu żądania obiektu niestandardowego i parametru PassThru w celu zwrócenia obiektu. Wynikowy obiekt niestandardowy jest zapisywany w zmiennej $a
.
Zmienna $a
jest potokowa do Get-Member
polecenia cmdlet, aby wyświetlić właściwości i metody zapisanego obiektu. Dane wyjściowe zawierają metodę skryptu Show-Calendar
.
Aby wywołać metodę skryptu Show-Calendar
, nazwa metody musi być ujęta w cudzysłów, ponieważ nazwa zawiera łącznik.
Przykład 8. Ponowne zaimportowanie modułu do tej samej sesji
W tym przykładzie pokazano, jak używać parametru Force w Import-Module
przypadku ponownego importowania modułu do tej samej sesji. Parametr Force usuwa załadowany moduł, a następnie importuje go ponownie.
Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS
Pierwsze polecenie importuje moduł PSDiagnostics . Drugie polecenie ponownie zaimportuje moduł, tym razem przy użyciu parametru Prefix .
Bez parametru Force sesja będzie zawierać dwie kopie każdego polecenia cmdlet PSDiagnostics , jeden o nazwie standardowej i jeden z prefiksem nazwy.
Przykład 9. Uruchamianie poleceń ukrytych przez zaimportowane polecenia
W tym przykładzie pokazano, jak uruchamiać polecenia ukryte przez zaimportowane polecenia. Moduł TestModule zawiera funkcję o nazwie Get-Date
, która zwraca rok i dzień roku.
Get-Date
Thursday, August 15, 2019 2:26:12 PM
Import-Module TestModule
Get-Date
19227
Get-Command Get-Date -All | Format-Table -Property CommandType, Name, ModuleName -AutoSize
CommandType Name ModuleName
----------- ---- ----------
Function Get-Date TestModule
Cmdlet Get-Date Microsoft.PowerShell.Utility
Microsoft.PowerShell.Utility\Get-Date
Thursday, August 15, 2019 2:28:31 PM
Pierwsze Get-Date
polecenie cmdlet zwraca obiekt DateTime z bieżącą datą. Po zaimportowaniu modułu Get-Date
TestModule zwraca rok i dzień roku.
Za pomocą parametru Get-Command
All pokaż wszystkie Get-Date
polecenia w sesji. Wyniki pokazują, że w sesji znajdują się dwa Get-Date
polecenia, funkcja z modułu TestModule i polecenie cmdlet z modułu Microsoft.PowerShell.Utility .
Ponieważ funkcje mają pierwszeństwo przed poleceniami cmdlet, Get-Date
funkcja z modułu TestModule jest uruchamiana, zamiast Get-Date
polecenia cmdlet. Aby uruchomić oryginalną wersję programu Get-Date
, należy zakwalifikować nazwę polecenia z nazwą modułu.
Aby uzyskać więcej informacji na temat pierwszeństwa poleceń w programie PowerShell, zobacz about_Command_Precedence.
Przykład 10: Importowanie minimalnej wersji modułu
W tym przykładzie importuje moduł PowerShellGet . Używa parametru MinimumVersion polecenia Import-Module
, aby zaimportować tylko wersję lub nowszą wersję 2.0.0
modułu.
Import-Module -Name PowerShellGet -MinimumVersion 2.0.0
Możesz również użyć parametru RequiredVersion, aby zaimportować określoną wersję modułu lub użyć parametrów #Requires
modułu i wersji słowa kluczowego, aby wymagać określonej wersji modułu w skry skrycie.
Przykład 11. Importowanie przy użyciu w pełni kwalifikowanej nazwy
W tym przykładzie importuje określoną wersję modułu przy użyciu metody FullyQualifiedName.
PS> Get-Module -ListAvailable PowerShellGet | Select-Object Name, Version
Name Version
---- -------
PowerShellGet 2.2.1
PowerShellGet 2.1.3
PowerShellGet 2.1.2
PowerShellGet 1.0.0.1
PS> Import-Module -FullyQualifiedName @{ModuleName = 'PowerShellGet'; ModuleVersion = '2.1.3' }
Przykład 12. Importowanie przy użyciu w pełni kwalifikowanej ścieżki
W tym przykładzie importuje określoną wersję modułu przy użyciu w pełni kwalifikowanej ścieżki.
PS> Get-Module -ListAvailable PowerShellGet | Select-Object Path
Path
----
C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1
C:\program files\powershell\6\Modules\PowerShellGet\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.1.2\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1
PS> Import-Module -Name 'C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1'
Przykład 13. Importowanie modułu z komputera zdalnego
W tym przykładzie Import-Module
pokazano, jak za pomocą polecenia cmdlet zaimportować moduł z komputera zdalnego.
To polecenie używa funkcji niejawnej komunikacji zdalnej programu PowerShell.
Podczas importowania modułów z innej sesji można użyć poleceń cmdlet w bieżącej sesji. Jednak polecenia korzystające z poleceń cmdlet są uruchamiane w sesji zdalnej.
$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable -Name NetSecurity
ModuleType Name ExportedCommands
---------- ---- ----------------
Manifest NetSecurity {New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-Ne...
Import-Module -PSSession $s -Name NetSecurity
Get-Command -Module NetSecurity -Name Get-*Firewall*
CommandType Name ModuleName
----------- ---- ----------
Function Get-NetFirewallAddressFilter NetSecurity
Function Get-NetFirewallApplicationFilter NetSecurity
Function Get-NetFirewallInterfaceFilter NetSecurity
Function Get-NetFirewallInterfaceTypeFilter NetSecurity
Function Get-NetFirewallPortFilter NetSecurity
Function Get-NetFirewallProfile NetSecurity
Function Get-NetFirewallRule NetSecurity
Function Get-NetFirewallSecurityFilter NetSecurity
Function Get-NetFirewallServiceFilter NetSecurity
Function Get-NetFirewallSetting NetSecurity
Get-NetFirewallRule -DisplayName "Windows Remote Management*" |
Format-Table -Property DisplayName, Name -AutoSize
DisplayName Name
----------- ----
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP
Windows Remote Management (HTTP-In) WINRM-HTTP-In-TCP-PUBLIC
Windows Remote Management - Compatibility Mode (HTTP-In) WINRM-HTTP-Compat-In-TCP
New-PSSession
Tworzy sesję zdalną (PSSession) na Server01
komputerze. Plik PSSession jest zapisywany w zmiennej $s
.
Uruchomienie Get-Module
z parametrem PSSession pokazuje, że moduł NetSecurity jest zainstalowany i dostępny na komputerze zdalnym. To polecenie jest równoważne użyciu Invoke-Command
polecenia cmdlet do uruchomienia Get-Module
polecenia w sesji zdalnej. Na przykład:
Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity
Uruchomienie Import-Module
z parametrem PSSession powoduje zaimportowanie modułu NetSecurity z komputera zdalnego do bieżącej sesji. Polecenie Get-Command
cmdlet pobiera polecenia rozpoczynające się od Get
modułu NetSecurity i dołączane Firewall
do nich. Dane wyjściowe potwierdzają, że moduł i jego polecenia cmdlet zostały zaimportowane do bieżącej sesji.
Get-NetFirewallRule
Następnie polecenie cmdlet pobiera reguły zapory zdalnego zarządzania systemem Windows na Server01
komputerze. Jest to równoważne użyciu Invoke-Command
polecenia cmdlet do uruchomienia Get-NetFirewallRule
w sesji zdalnej.
Przykład 14: Zarządzanie magazynem na komputerze zdalnym bez systemu operacyjnego Windows
W tym przykładzie administrator komputera zainstalował dostawcę WMI odnajdywania modułów, który umożliwia korzystanie z poleceń modelu CIM przeznaczonych dla dostawcy.
Polecenie New-CimSession
cmdlet tworzy sesję na komputerze zdalnym o nazwie RSDGF03. Sesja łączy się z usługą WMI na komputerze zdalnym. Sesja modelu CIM jest zapisywana w zmiennej $cs
.
Import-Module
Program używa modułu CimSession w programie , $cs
aby zaimportować moduł CIM usługi Storage z RSDGF03
komputera.
Polecenie Get-Command
cmdlet pokazuje Get-Disk
polecenie w module Storage . Podczas importowania modułu CIM do sesji lokalnej program PowerShell konwertuje pliki CDXML dla każdego polecenia na skrypty programu PowerShell, które są wyświetlane jako funkcje w sesji lokalnej.
Mimo że Get-Disk
jest wpisywany w sesji lokalnej, polecenie cmdlet niejawnie jest uruchamiane na komputerze zdalnym, z którego został zaimportowany. Polecenie zwraca obiekty z komputera zdalnego do sesji lokalnej.
$cs = New-CimSession -ComputerName RSDGF03
Import-Module -CimSession $cs -Name Storage
# Importing a CIM module, converts the CDXML files for each command into
# PowerShell scripts. These appear as functions in the local session.
Get-Command Get-Disk
CommandType Name ModuleName
----------- ---- ----------
Function Get-Disk Storage
# Use implicit remoting to query disks on the remote computer from which the
# module was imported.
Get-Disk
Number Friendly Name OperationalStatus Total Size Partition Style
------ ------------- ----------------- ---------- ---------------
0 Virtual HD ATA Device Online 40 GB MBR
Parametry
-Alias
Określa aliasy, które to polecenie cmdlet importuje z modułu do bieżącej sesji. Wprowadź rozdzielaną przecinkami listę aliasów. Dozwolone są symbole wieloznaczne.
Niektóre moduły automatycznie eksportują wybrane aliasy do sesji podczas importowania modułu. Ten parametr umożliwia wybranie spośród wyeksportowanych aliasów.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-ArgumentList
Określa tablicę argumentów lub wartości parametrów, które są przekazywane do modułu skryptu Import-Module
podczas polecenia. Ten parametr jest prawidłowy tylko podczas importowania modułu skryptu.
Możesz również odwołać się do parametru ArgumentList według jego aliasu, args. Aby uzyskać więcej informacji na temat zachowania argumentlist, zobacz about_Splatting.
Typ: | Object[] |
Aliasy: | Args |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-AsCustomObject
Wskazuje, że to polecenie cmdlet zwraca obiekt niestandardowy z elementami członkowskimi reprezentującymi zaimportowane elementy członkowskie modułu. Ten parametr jest prawidłowy tylko dla modułów skryptów.
Jeśli używasz parametru AsCustomObject, importuje elementy członkowskie modułu do sesji, Import-Module
a następnie zwraca obiekt PSCustomObject zamiast obiektu PSModuleInfo. Obiekt niestandardowy można zapisać w zmiennej i użyć wyliczenia dostępu do składowych, aby wywołać elementy członkowskie.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Assembly
Określa tablicę obiektów zestawu. To polecenie cmdlet importuje polecenia cmdlet i dostawców zaimplementowanych w określonych obiektach zestawu. Wprowadź zmienną zawierającą obiekty zestawu lub polecenie, które tworzy obiekty zestawu. Możesz również przekazać obiekt zestawu do Import-Module
elementu .
W przypadku użycia tego parametru importowane są tylko polecenia cmdlet i dostawcy zaimplementowani przez określone zestawy. Jeśli moduł zawiera inne pliki, nie są importowane i może brakować ważnych elementów członkowskich modułu. Użyj tego parametru do debugowania i testowania modułu lub po poinstruowaniu, aby używać go przez autora modułu.
Typ: | Assembly[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-CimNamespace
Określa przestrzeń nazw alternatywnego dostawcy modelu CIM, który uwidacznia moduły MODELU CIM. Wartość domyślna to przestrzeń nazw dostawcy usługi WMI odnajdywania modułów.
Użyj tego parametru, aby zaimportować moduły CIM z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CimResourceUri
Określa alternatywną lokalizację modułów CIM. Wartość domyślna to identyfikator URI zasobu dostawcy usługi WMI odnajdywania modułów na komputerze zdalnym.
Użyj tego parametru, aby zaimportować moduły CIM z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | Uri |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CimSession
Określa sesję modelu ciM na komputerze zdalnym. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które pobiera sesję modelu CIM, na przykład polecenie Get-CimSession .
Import-Module
program używa połączenia sesji modelu CIM do importowania modułów z komputera zdalnego do bieżącej sesji. Gdy używasz poleceń z zaimportowanego modułu w bieżącej sesji, polecenia są uruchamiane na komputerze zdalnym.
Tego parametru można użyć do importowania modułów z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows, oraz komputerów z systemem Windows, które mają program PowerShell, ale nie mają włączonej komunikacji zdalnej programu PowerShell.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | CimSession |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Cmdlet
Określa tablicę poleceń cmdlet, które to polecenie cmdlet importuje z modułu do bieżącej sesji. Dozwolone są symbole wieloznaczne.
Niektóre moduły automatycznie eksportują wybrane polecenia cmdlet do sesji podczas importowania modułu. Ten parametr umożliwia wybranie spośród wyeksportowanych poleceń cmdlet.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-DisableNameChecking
Wskazuje, że to polecenie cmdlet pomija komunikat ostrzegający podczas importowania polecenia cmdlet lub funkcji, której nazwa zawiera niezatwierdzone zlecenie lub niedozwolony znak.
Domyślnie, gdy moduł importowany eksportuje polecenia cmdlet lub funkcje, które mają niezatwierdzone czasowniki w nazwach, program PowerShell wyświetla następujący komunikat ostrzegawczy:
OSTRZEŻENIE: Niektóre zaimportowane nazwy poleceń obejmują niezatwierdzone czasowniki, które mogą sprawić, że będą one mniej wykrywalne. Użyj parametru Verbose, aby uzyskać więcej szczegółów lub wpisz Get-Verb, aby wyświetlić listę zatwierdzonych czasowników.
Ten komunikat jest tylko ostrzeżeniem. Cały moduł jest nadal importowany, w tym polecenia niezgodne. Mimo że komunikat jest wyświetlany użytkownikom modułu, problem z nazewnictwem powinien zostać rozwiązany przez autora modułu.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Ten parametr powoduje załadowanie lub ponowne załadowanie modułu na początku bieżącego. Niektóre moduły ładują zestawy zewnętrzne. Importowanie nie powiedzie się, jeśli importujesz moduł, który ładuje nowszą wersję zestawu. Parametr Force nie może zastąpić błędu. Aby załadować nową wersję, musisz uruchomić nową sesję.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-FullyQualifiedName
Wartość może 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. Ścieżka względna jest rozpoznawana względem skryptu zawierającego instrukcję using.
Gdy wartość jest nazwą lub specyfikacją modułu, program PowerShell przeszukuje element PSModulePath dla określonego modułu.
Specyfikacja modułu to tabela skrótu zawierająca następujące klucze.
ModuleName
- Required Określa nazwę modułu.GUID
- Opcjonalnie Określa identyfikator GUID modułu.- Wymagane jest również określenie co najmniej jednego z trzech poniższych kluczy.
ModuleVersion
- Określa minimalną akceptowalną wersję modułu.MaximumVersion
- Określa maksymalną akceptowalną wersję modułu.RequiredVersion
- Określa dokładną, wymaganą wersję modułu. Nie można tego używać z innymi kluczami wersji.
Typ: | ModuleSpecification[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Function
Określa tablicę funkcji, które to polecenie cmdlet importuje z modułu do bieżącej sesji. Dozwolone są symbole wieloznaczne. Niektóre moduły automatycznie eksportują wybrane funkcje do sesji podczas importowania modułu. Ten parametr umożliwia wybranie spośród wyeksportowanych funkcji.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
-Global
Wskazuje, że to polecenie cmdlet importuje moduły do stanu sesji globalnej, aby były dostępne dla wszystkich poleceń w sesji.
Domyślnie, gdy Import-Module
polecenie cmdlet jest wywoływane z wiersza polecenia, pliku skryptu lub skryptblock, wszystkie polecenia są importowane do stanu sesji globalnej.
Po wywołaniu z innego modułu Import-Module
polecenie cmdlet importuje polecenia w module, w tym polecenia z zagnieżdżonych modułów, do stanu sesji modułu wywołującego.
Napiwek
Należy unikać wywoływania Import-Module
z poziomu modułu. Zamiast tego zadeklaruj moduł docelowy jako zagnieżdżony moduł w manifeście modułu nadrzędnego. Deklarowanie zagnieżdżonych modułów zwiększa możliwość odnajdywania zależności.
Parametr Globalny jest odpowiednikiem parametru Scope z wartością Global.
Aby ograniczyć polecenia eksportowane przez moduł, użyj Export-ModuleMember
polecenia w module skryptu.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-MaximumVersion
Określa maksymalną wersję. To polecenie cmdlet importuje tylko wersję modułu, która jest mniejsza lub równa określonej wartości. Jeśli żadna wersja nie kwalifikuje się, Import-Module
zwraca błąd.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-MinimumVersion
Określa minimalną wersję. To polecenie cmdlet importuje tylko wersję modułu, która jest większa lub równa określonej wartości. Użyj nazwy parametru MinimumVersion lub jego aliasu, Wersja. Jeśli żadna wersja nie kwalifikuje się, Import-Module
generuje błąd.
Aby określić dokładną wersję, użyj parametru RequiredVersion . Możesz również użyć parametrów modułu i wersji słowa kluczowego #Requires, aby wymagać określonej wersji modułu w skry skrycie.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | Version |
Aliasy: | Version |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ModuleInfo
Określa tablicę obiektów modułu do zaimportowania. Wprowadź zmienną zawierającą obiekty modułu lub polecenie, które pobiera obiekty modułu, takie jak następujące polecenie: Get-Module -ListAvailable
. Możesz również przekazać potok obiektów modułu do Import-Module
elementu .
Typ: | PSModuleInfo[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwy modułów do zaimportowania. Wprowadź nazwę modułu lub nazwę pliku w module, na przykład .psd1
plik , .psm1
, .dll
lub .ps1
. Ścieżki plików są opcjonalne. Symbole wieloznaczne nie są dozwolone. Można również potokować nazwy modułów i nazwy plików do Import-Module
.
Jeśli pominięto ścieżkę, Import-Module
poszukaj modułu w ścieżkach zapisanych w zmiennej środowiskowej $env:PSModulePath
.
Określ tylko nazwę modułu, jeśli jest to możliwe. Po określeniu nazwy pliku importowane są tylko elementy członkowskie zaimplementowane w tym pliku. Jeśli moduł zawiera inne pliki, nie są importowane i może brakować ważnych elementów członkowskich modułu.
Uwaga
Chociaż istnieje możliwość zaimportowania pliku skryptu () jako.ps1
modułu, pliki skryptów zwykle nie mają struktury, takiej jak plik modułów skryptów (.psm1
). Importowanie pliku skryptu nie gwarantuje, że będzie można go używać jako modułu. Aby uzyskać więcej informacji, zobacz about_Modules.
Typ: | String[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | True |
-NoClobber
Zapobiega importowaniu poleceń, które mają takie same nazwy jak istniejące polecenia w bieżącej sesji. Domyślnie Import-Module
importuje wszystkie wyeksportowane polecenia modułu.
Polecenia o tych samych nazwach mogą ukrywać lub zastępować polecenia w sesji. Aby uniknąć konfliktów nazw poleceń w sesji, użyj parametrów Prefiks lub NoClobber . Aby uzyskać więcej informacji na temat konfliktów nazw i pierwszeństwa poleceń, zobacz "Moduły i konflikty nazw" w about_Modules i about_Command_Precedence.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | SwitchParameter |
Aliasy: | NoOverwrite |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Zwraca obiekt reprezentujący zaimportowany moduł. 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 |
-Prefix
Określa prefiks, który to polecenie cmdlet dodaje do uns w nazwach zaimportowanych elementów członkowskich modułu.
Użyj tego parametru, aby uniknąć konfliktów nazw, które mogą wystąpić, gdy różne elementy członkowskie w sesji mają taką samą nazwę. Ten parametr nie zmienia modułu i nie ma wpływu na pliki importujące moduł do własnego użycia. Są to moduły zagnieżdżone. To polecenie cmdlet wpływa tylko na nazwy członków w bieżącej sesji.
Jeśli na przykład określisz prefiks UTC, a następnie zaimportujesz Get-Date
polecenie cmdlet, polecenie cmdlet jest znane w sesji jako Get-UTCDate
, i nie jest mylone z oryginalnym Get-Date
poleceniem cmdlet.
Wartość tego parametru ma pierwszeństwo przed właściwością DefaultCommandPrefix modułu, która określa domyślny prefiks.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-PSSession
Określa sesję zarządzaną przez użytkownika programu PowerShell (PSSession), z której to polecenie cmdlet importuje moduły do bieżącej sesji. Wprowadź zmienną zawierającą pssession lub polecenie, które pobiera psSession, takie jak Get-PSSession
polecenie.
Podczas importowania modułu z innej sesji do bieżącej sesji można użyć poleceń cmdlet z modułu w bieżącej sesji, tak samo jak polecenia cmdlet z modułu lokalnego. Polecenia używające zdalnych poleceń cmdlet są uruchamiane w sesji zdalnej, ale szczegóły komunikacji zdalnej są zarządzane w tle przez program PowerShell.
Ten parametr używa funkcji niejawnej komunikacji zdalnej programu PowerShell. Jest to równoważne użyciu Import-PSSession
polecenia cmdlet do importowania określonych modułów z sesji.
Import-Module
Nie można zaimportować podstawowych modułów programu PowerShell z innej sesji. Podstawowe moduły programu PowerShell mają nazwy rozpoczynające się od programu Microsoft.PowerShell.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | PSSession |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-RequiredVersion
Określa wersję modułu importowanych przez to polecenie cmdlet. Jeśli wersja nie jest zainstalowana, Import-Module
generuje błąd.
Domyślnie Import-Module
importuje moduł bez sprawdzania numeru wersji.
Aby określić minimalną wersję, użyj parametru MinimumVersion . Możesz również użyć parametrów modułu i wersji słowa kluczowego #Requires, aby wymagać określonej wersji modułu w skry skrycie.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Skrypty używające opcji RequiredVersion do importowania modułów dołączonych do istniejących wersji systemu operacyjnego Windows nie są uruchamiane automatycznie w przyszłych wersjach systemu operacyjnego Windows. Dzieje się tak, ponieważ numery wersji modułu programu PowerShell w przyszłych wersjach systemu operacyjnego Windows są wyższe niż numery wersji modułu w istniejących wersjach systemu operacyjnego Windows.
Typ: | Version |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Scope
Określa zakres importowania modułu.
Dopuszczalne wartości tego parametru to:
- Globalny. Dostępne dla wszystkich poleceń w sesji. Odpowiednik parametru globalnego.
- Lokalny. Dostępne tylko w bieżącym zakresie.
Domyślnie, gdy Import-Module
polecenie cmdlet jest wywoływane z wiersza polecenia, pliku skryptu lub skryptblock, wszystkie polecenia są importowane do stanu sesji globalnej. Możesz użyć parametru , aby zaimportować zawartość modułu -Scope Local
do zakresu skryptu lub scriptblock.
Po wywołaniu z innego modułu Import-Module
polecenie cmdlet importuje polecenia w module, w tym polecenia z zagnieżdżonych modułów, do stanu sesji obiektu wywołującego. Określenie -Scope Global
lub -Global
wskazuje, że to polecenie cmdlet importuje moduły do stanu sesji globalnej, aby były dostępne dla wszystkich poleceń w sesji.
Parametr Globalny jest odpowiednikiem parametru Scope z wartością Global.
Ten parametr został wprowadzony w programie Windows PowerShell 3.0.
Typ: | String |
Dopuszczalne wartości: | Local, Global |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SkipEditionCheck
Pomija sprawdzanie w CompatiblePSEditions
polu.
Umożliwia ładowanie modułu z katalogu modułu "$($env:windir)\System32\WindowsPowerShell\v1.0\Modules"
do programu PowerShell Core, gdy ten moduł nie określa Core
w polu manifestu CompatiblePSEditions
.
Podczas importowania modułu z innej ścieżki ten przełącznik nie wykonuje żadnych operacji, ponieważ sprawdzanie nie jest wykonywane. W systemach Linux i macOS ten przełącznik nic nie robi.
Aby uzyskać więcej informacji, zobacz about_PowerShell_Editions.
Ostrzeżenie
Import-Module -SkipEditionCheck
Nadal prawdopodobnie nie można zaimportować modułu. Nawet jeśli zakończy się pomyślnie, wywołanie polecenia z modułu może później zakończyć się niepowodzeniem, gdy spróbuje użyć niezgodnego interfejsu API.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-UseWindowsPowerShell
Ładuje moduł przy użyciu funkcji zgodności programu Windows PowerShell. Aby uzyskać więcej informacji, zobacz about_Windows_PowerShell_Compatibility .
Typ: | SwitchParameter |
Aliasy: | UseWinPS |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Variable
Określa tablicę zmiennych, które to polecenie cmdlet importuje z modułu do bieżącej sesji. Wprowadź listę zmiennych. Dozwolone są symbole wieloznaczne.
Niektóre moduły automatycznie eksportują wybrane zmienne do sesji podczas importowania modułu. Ten parametr umożliwia wybranie spośród wyeksportowanych zmiennych.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
Dane wejściowe
Możesz przekazać nazwę modułu do tego polecenia cmdlet.
Do tego polecenia cmdlet można przekazać obiekt modułu.
Możesz przekazać obiekt zestawu do tego polecenia cmdlet.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli określisz parametr PassThru , polecenie cmdlet generuje obiekt System.Management.Automation.PSModuleInfo reprezentujący zaimportowany moduł.
Jeśli określisz razem parametry AsCustomObject i PassThru , polecenie cmdlet wygeneruje obiekt PSCustomObject reprezentujący moduł.
Uwagi
Program PowerShell zawiera następujące aliasy dla programu Import-Module
:
Wszystkie platformy:
ipmo
Aby można było zaimportować moduł, moduł musi być dostępny dla komputera lokalnego i uwzględniony w zmiennej środowiskowej
PSModulePath
. Aby uzyskać więcej informacji, zobacz about_Modules.Można również użyć parametrów PSSession i CIMSession do importowania modułów zainstalowanych na komputerach zdalnych. Jednak polecenia korzystające z poleceń cmdlet w tych modułach są uruchamiane w sesji zdalnej na komputerze zdalnym.
W przypadku importowania członków o tej samej nazwie i tym samym typie do sesji program PowerShell domyślnie używa elementu członkowskiego zaimportowanych ostatnio. Zmienne i aliasy są zastępowane, a oryginały nie są dostępne. Funkcje, polecenia cmdlet i dostawcy są tylko w tle przez nowych członków. Dostęp do nich można uzyskać, kwalifikując nazwę polecenia przy użyciu nazwy przystawki, modułu lub ścieżki funkcji.
Aby zaktualizować dane formatowania poleceń zaimportowanych z modułu
Update-FormatData
, użyj polecenia cmdlet . Jeśli plik formatowania modułu ulegnie zmianie, użyjUpdate-FormatData
polecenia cmdlet , aby zaktualizować dane formatowania dla zaimportowanych poleceń. Nie trzeba ponownie importować modułu.Począwszy od programu Windows PowerShell 3.0, podstawowe polecenia zainstalowane za pomocą programu PowerShell są pakowane w modułach. W programie Windows PowerShell 2.0 i programach hosta, które tworzą starsze sesje w nowszych wersjach programu PowerShell, podstawowe polecenia są pakowane w przystawkach (PSSnapins). Wyjątkiem jest Microsoft.PowerShell.Core, który jest zawsze przystawką. Ponadto sesje zdalne, takie jak te uruchomione przez
New-PSSession
polecenie cmdlet, są sesjami w starszym stylu, które obejmują podstawowe przystawki.Aby uzyskać informacje o metodzie CreateDefault2, która tworzy nowsze sesje z modułami podstawowymi, zobacz metodę CreateDefault2.
W programie Windows PowerShell 2.0 niektóre wartości właściwości obiektu modułu, takie jak ExportedCmdlets i NestedModules , nie zostały wypełnione, dopóki moduł nie zostanie zaimportowany.
Jeśli spróbujesz zaimportować moduł zawierający zestawy w trybie mieszanym, które nie są zgodne z programem Windows PowerShell 3.0 lub nowszym,
Import-Module
zwraca komunikat o błędzie podobny do poniższego.Import-Module: zestaw trybu mieszanego jest kompilowany w wersji "v2.0.50727" środowiska uruchomieniowego i nie można go załadować w środowisku uruchomieniowym 4.0 bez dodatkowych informacji o konfiguracji.
Ten błąd występuje, gdy moduł przeznaczony dla programu Windows PowerShell 2.0 zawiera co najmniej jeden zestaw mieszany modułu. Zestaw modułu mieszanego, który zawiera zarówno zarządzany, jak i niezarządzany kod, taki jak C++ i C#.
Aby zaimportować moduł zawierający zestawy w trybie mieszanym, uruchom program Windows PowerShell 2.0 przy użyciu następującego polecenia, a następnie spróbuj ponownie wykonać
Import-Module
polecenie.PowerShell.exe -Version 2.0
Aby korzystać z funkcji sesji modelu CIM, komputer zdalny musi mieć zdalną funkcję komunikacji zdalnej w usłudze WS-Management i instrumentację zarządzania Windows (WMI), która jest implementacją firmy Microsoft standardu Common Information Model (CIM). Komputer musi również mieć dostawcę usługi WMI odnajdywania modułów lub alternatywnego dostawcę modelu CIM, który ma te same podstawowe funkcje.
Funkcji sesji modelu CIM można używać na komputerach, na których nie jest uruchomiony system operacyjny Windows i na komputerach z systemem Windows z programem PowerShell, ale nie mają włączonej komunikacji zdalnej programu PowerShell.
Możesz również użyć parametrów modelu CIM, aby pobrać moduły CIM z komputerów z włączoną obsługą komunikacji zdalnej programu PowerShell, w tym komputera lokalnego. Podczas tworzenia sesji modelu CIM na komputerze lokalnym program PowerShell używa modelu DCOM zamiast usługi WMI do utworzenia sesji.
Domyślnie importuje moduły w zakresie globalnym nawet wtedy,
Import-Module
gdy są wywoływane z zakresu potomnego. Zakres najwyższego poziomu i wszystkie zakresy podrzędne mają dostęp do wyeksportowanych elementów modułu.W zakresie
-Scope Local
potomnym ogranicza importowanie do tego zakresu i wszystkich zakresów podrzędnych. Zakresy nadrzędne nie widzą zaimportowanych elementów członkowskich.Uwaga
Get-Module
pokazuje wszystkie moduły załadowane w bieżącej sesji. Obejmuje to moduły ładowane lokalnie w zakresie potomnym. UżyjGet-Command -Module modulename
polecenia , aby zobaczyć, które elementy członkowskie są ładowane w bieżącym zakresie.Import-Module
nie ładuje definicji klas i wyliczenia w module. Użyj instrukcjiusing module
na początku skryptu. Spowoduje to zaimportowanie modułu, w tym definicji klasy i wyliczenia. Aby uzyskać więcej informacji, zobacz about_Using.Podczas opracowywania modułu skryptu często wprowadza się zmiany w kodzie, a następnie ładują nową wersję modułu przy użyciu
Import-Module
parametru Force . Działa to tylko w przypadku zmian funkcji w module głównym.Import-Module
nie ładuje ponownie żadnych zagnieżdżonych modułów. Ponadto nie ma możliwości załadowania zaktualizowanych klas ani wyliczenia.Aby uzyskać zaktualizowane elementy członkowskie modułu zdefiniowane w zagnieżdżonych modułach, usuń moduł za pomocą
Remove-Module
polecenia , a następnie zaimportuj moduł ponownie.Jeśli moduł został załadowany z instrukcją
using
, należy uruchomić nową sesję, aby zaimportować zaktualizowane definicje dla klas i wyliczenia. Nie można zwolnić klas i wyliczenia zdefiniowanych w programie PowerShell i zaimportowanych za pomocąusing
instrukcji.