Import-Module
Přidá moduly do aktuální relace.
Syntaxe
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>]
Description
Rutina Import-Module
přidá do aktuální relace jeden nebo více modulů. Počínaje PowerShellem 3.0 se nainstalované moduly automaticky importují do relace, když v modulu použijete všechny příkazy nebo zprostředkovatele. K importu Import-Module
modulu ale můžete použít příkaz.
Automatické importování modulů můžete zakázat pomocí $PSModuleAutoloadingPreference
proměnné předvoleb. Další informace o $PSModuleAutoloadingPreference
proměnné najdete v tématu about_Preference_Variables.
Modul je balíček, který obsahuje členy, které je možné použít v PowerShellu. Členové zahrnují rutiny, zprostředkovatele, skripty, funkce, proměnné a další nástroje a soubory. Po importu modulu můžete ve své relaci použít členy modulu. Další informace o modulech najdete v tématu about_Modules.
Ve výchozím nastavení importuje všechny členy, Import-Module
které modul exportuje, ale k omezení importovaných členů můžete použít parametry Alias, Funkce, Rutina a Proměnná . Parametr NoClobber zabraňuje Import-Module
importu členů se stejnými názvy jako členy v aktuální relaci.
Import-Module
importuje modul pouze do aktuální relace. Pokud chcete modul importovat do každé nové relace, přidejte do profilu PowerShellu Import-Module
příkaz. Další informace o profilech najdete v tématu about_Profiles.
Vzdálené počítače s Windows, které mají povolenou vzdálenou správu Prostředí PowerShell, můžete vytvořit na vzdáleném počítači psSession . Potom pomocí parametru Import-Module
PSSession importujte moduly nainstalované ve vzdáleném počítači. Pokud v aktuální relaci použijete importované příkazy, příkazy se implicitně spustí na vzdáleném počítači.
Počínaje windows PowerShellem 3.0 můžete importovat Import-Module
moduly MODELU CIM (Common Information Model). Moduly CIM definují rutiny v souborech CDXML (Cmdlet Definition XML). Tato funkce umožňuje používat rutiny implementované v nespravovaných sestaveních kódu, jako jsou například rutiny napsané v jazyce C++.
U vzdálených počítačů, které nemají povolenou vzdálenou vzdálenou komunikace PowerShellu, včetně počítačů, které nepoužívají operační systém Windows, můžete pomocí parametru Import-Module
CIMSession importovat moduly CIM ze vzdáleného počítače. Importované příkazy běží implicitně ve vzdáleném počítači. CIMSession je připojení ke službě WMI (Windows Management Instrumentation) ve vzdáleném počítači.
Příklady
Příklad 1: Import členů modulu do aktuální relace
Tento příklad naimportuje členy modulu PSDiagnostics do aktuální relace.
Import-Module -Name PSDiagnostics
Příklad 2: Import všech modulů určených cestou k modulu
Tento příklad importuje všechny dostupné moduly v cestě určené proměnnou $env:PSModulePath
prostředí do aktuální relace.
Get-Module -ListAvailable | Import-Module
Příklad 3: Import členů několika modulů do aktuální relace
Tento příklad naimportuje členy modulů PSDiagnostics a Dism do aktuální relace.
$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m
Rutina Get-Module
získá moduly PSDiagnostics a Dism a uloží objekty do $m
proměnné. Parametr ListAvailable se vyžaduje, když získáváte moduly, které ještě nejsou importovány do relace.
Parametr ModuleInfo Import-Module
pro import modulů do aktuální relace.
Příklad 4: Import všech modulů určených cestou
Tento příklad používá explicitní cestu k identifikaci modulu k importu.
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'.
Použití podrobného parametru způsobí Import-Module
hlášení průběhu při načítání modulu.
Bez parametru Import-Module
Verbose, PassThru nebo AsCustomObject negeneruje žádný výstup při importu modulu.
Příklad 5: Omezení členů modulů importovaných do relace
Tento příklad ukazuje, jak omezit, které členy modulu se importují do relace, a vliv tohoto příkazu na relaci. Parametr funkce omezuje členy importované z modulu. Pomocí parametrů Alias, Proměnná a Rutina můžete také omezit ostatní členy, které modul importuje.
Rutina Get-Module
získá objekt, který představuje modul PSDiagnostics . Vlastnost ExportedCmdlets obsahuje seznam všech rutin, které modul exportuje, i když nebyly všechny importovány.
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
Pomocí parametru Module rutiny Get-Command
se zobrazují příkazy, které byly importovány z modulu PSDiagnostics. Výsledky potvrdí, že se importovaly jenom rutiny Disable-PSTrace
a Enable-PSTrace
rutiny.
Příklad 6: Import členů modulu a přidání předpony
Tento příklad naimportuje modul PSDiagnostics do aktuální relace, přidá předponu k názvům členů a pak zobrazí názvy předpony členů. Parametr Import-Module
Předpona přidá předponu x
všem členům importovaným z modulu. Předpona se vztahuje pouze na členy v aktuální relaci. Modul se nezmění. Parametr PassThru vrátí objekt modulu, který představuje importovaný modul.
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
získá členy, které byly importovány z modulu. Výstup ukazuje, že členy modulu byly správně předpony.
Příklad 7: Získání a použití vlastního objektu
Tento příklad ukazuje, jak získat a použít vlastní objekt vrácený Import-Module
.
Vlastní objekty zahrnují syntetické členy, které představují každý z importovaných členů modulu. Například rutiny a funkce v modulu se převedou na metody skriptů vlastního objektu.
Vlastní objekty jsou užitečné při skriptování. Jsou také užitečné, když několik importovaných objektů má stejné názvy. Použití metody skriptu objektu je ekvivalentní k zadání plně kvalifikovaného názvu importovaného člena, včetně jeho názvu modulu.
Parametr AsCustomObject je použitelný pouze při importu modulu skriptu. Slouží Get-Module
k určení, které z dostupných modulů je skriptovací modul.
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"()
Modul Show-Calendar
skriptu se importuje pomocí parametru AsCustomObject k vyžádání vlastního objektu a parametru PassThru k vrácení objektu. Výsledný vlastní objekt je uložen v $a
proměnné.
Proměnná $a
se předá rutině Get-Member
, aby zobrazila vlastnosti a metody uloženého objektu. Výstup zobrazuje metodu Show-Calendar
skriptu.
Chcete-li volat metodu Show-Calendar
skriptu, musí být název metody uzavřen v uvozovkách, protože název obsahuje spojovník.
Příklad 8: Opětovné importování modulu do stejné relace
Tento příklad ukazuje, jak použít parametr Import-Module
Force při opětovném importu modulu do stejné relace. Parametr Force odebere načtený modul a pak ho znovu naimportuje.
Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS
První příkaz importuje modul PSDiagnostics . Druhý příkaz znovu naimportuje modul, tentokrát pomocí parametru Prefix .
Bez parametru Force by relace obsahovala dvě kopie každé rutiny PSDiagnostics , jednu se standardním názvem a druhou s předponou.
Příklad 9: Spuštění příkazů skrytých importovanými příkazy
Tento příklad ukazuje, jak spouštět příkazy skryté importovanými příkazy. Modul TestModule obsahuje funkci s názvem Get-Date
, která vrátí rok a den v roce.
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
První Get-Date
rutina vrátí objekt DateTime s aktuálním datem. Po importu modulu Get-Date
TestModule vrátí rok a den v roce.
Pomocí parametru All (Vše ) Get-Command
zobrazíte všechny Get-Date
příkazy v relaci. Výsledky ukazují, že v relaci existují dva Get-Date
příkazy, funkce z modulu TestModule a rutina z modulu Microsoft.PowerShell.Utility .
Vzhledem k tomu, že funkce mají přednost před rutinami, spustí se Get-Date
funkce z modulu TestModule místo rutiny Get-Date
. Pokud chcete spustit původní verzi Get-Date
, musíte kvalifikovat název příkazu s názvem modulu.
Další informace o prioritách příkazů v PowerShellu najdete v tématu about_Command_Precedence.
Příklad 10: Import minimální verze modulu
Tento příklad naimportuje modul PowerShellGet . Používá parametr Import-Module
MinimumVersion k importu pouze verze 2.0.0
nebo vyšší modulu.
Import-Module -Name PowerShellGet -MinimumVersion 2.0.0
Parametr RequiredVersion můžete také použít k importu konkrétní verze modulu nebo můžete použít parametry module a verze klíčového #Requires
slova k vyžadování konkrétní verze modulu ve skriptu.
Příklad 11: Import s použitím plně kvalifikovaného názvu
Tento příklad naimportuje konkrétní verzi modulu pomocí 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' }
Příklad 12: Import pomocí plně kvalifikované cesty
Tento příklad naimportuje konkrétní verzi modulu pomocí plně kvalifikované cesty.
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'
Příklad 13: Import modulu ze vzdáleného počítače
Tento příklad ukazuje, jak pomocí rutiny Import-Module
importovat modul ze vzdáleného počítače.
Tento příkaz používá funkci Implicitní komunikace PowerShellu.
Při importu modulů z jiné relace můžete použít rutiny v aktuální relaci. Příkazy, které používají rutiny, se ale spouští ve vzdálené relaci.
$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
vytvoří vzdálenou relaci (PSSession) k Server01
počítači. PsSession se uloží do $s
proměnné.
Spuštění Get-Module
s parametrem PSSession ukazuje, že je modul NetSecurity nainstalovaný a dostupný na vzdáleném počítači. Tento příkaz je ekvivalentní použití rutiny Invoke-Command
ke spuštění Get-Module
příkazu ve vzdálené relaci. Příklad:
Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity
Spuštění Import-Module
s parametrem PSSession importuje modul NetSecurity ze vzdáleného počítače do aktuální relace. Rutina Get-Command
načte příkazy, které začínají Get
a zahrnují Firewall
z modulu NetSecurity . Výstup potvrzuje, že modul a jeho rutiny byly importovány do aktuální relace.
V dalším kroku rutina Get-NetFirewallRule
získá pravidla brány firewall vzdálené správy systému Windows v Server01
počítači. To je ekvivalentem použití rutiny Invoke-Command
ke spuštění Get-NetFirewallRule
ve vzdálené relaci.
Příklad 14: Správa úložiště na vzdáleném počítači bez operačního systému Windows
V tomto příkladu nainstaloval správce počítače zprostředkovatele rozhraní WMI zjišťování modulů, který umožňuje používat příkazy CIM určené pro daného poskytovatele.
Rutina New-CimSession
vytvoří relaci na vzdáleném počítači s názvem RSDGF03. Relace se připojí ke službě WMI na vzdáleném počítači. Relace CIM se uloží do $cs
proměnné.
Import-Module
nástroj CimSession $cs
použije k importu modulu CIM úložiště z RSDGF03
počítače.
Rutina Get-Command
zobrazí Get-Disk
příkaz v modulu Storage . Když importujete modul CIM do místní relace, PowerShell převede soubory CDXML pro každý příkaz na skripty PowerShellu, které se zobrazí jako funkce v místní relaci.
I když Get-Disk
je zadána v místní relaci, rutina implicitně běží na vzdáleném počítači, ze kterého byla importována. Příkaz vrátí objekty ze vzdáleného počítače do místní relace.
$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
Určuje aliasy, které tato rutina importuje z modulu do aktuální relace. Zadejte čárkami oddělený seznam aliasů. Jsou povoleny zástupné znaky.
Některé moduly při importu modulu automaticky exportuje vybrané aliasy do relace. Tento parametr umožňuje vybírat z exportovaných aliasů.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-ArgumentList
Určuje pole argumentů nebo hodnot parametrů, které se během Import-Module
příkazu předávají modulu skriptu. Tento parametr je platný pouze při importu modulu skriptu.
Můžete také odkazovat na parametr ArgumentList podle jeho aliasu, args. Další informace o chování ArgumentList naleznete v tématu about_Splatting.
Typ: | Object[] |
Aliasy: | Args |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-AsCustomObject
Označuje, že tato rutina vrátí vlastní objekt se členy, které představují importované členy modulu. Tento parametr je platný pouze pro moduly skriptu.
Pokud použijete parametr AsCustomObject , Import-Module
importuje členy modulu do relace a pak vrátí PSCustomObject objekt místo PSModuleInfo objektu. Vlastní objekt můžete uložit do proměnné a pomocí výčtu přístupu člena vyvolat členy.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Assembly
Určuje pole objektů sestavení. Tato rutina importuje rutiny a zprostředkovatele implementované v zadaných objektech sestavení. Zadejte proměnnou obsahující objekty sestavení nebo příkaz, který vytváří objekty sestavení. Objekt sestavení lze také pipetovat do Import-Module
objektu sestavení .
Pokud použijete tento parametr, importují se pouze rutiny a zprostředkovatelé implementované zadanými sestaveními. Pokud modul obsahuje další soubory, nenaimportují se a možná vám chybí důležité členy modulu. Tento parametr použijte k ladění a testování modulu nebo k jeho použití autorem modulu.
Typ: | Assembly[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-CimNamespace
Určuje obor názvů alternativního poskytovatele CIM, který zveřejňuje moduly CIM. Výchozí hodnota je obor názvů zprostředkovatele rozhraní WMI zjišťování modulů.
Tento parametr použijte k importu modulů CIM z počítačů a zařízení, která nepoužívají operační systém Windows.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CimResourceUri
Určuje alternativní umístění pro moduly CIM. Výchozí hodnota je identifikátor URI prostředku zprostředkovatele rozhraní WMI zjišťování modulu ve vzdáleném počítači.
Tento parametr použijte k importu modulů CIM z počítačů a zařízení, která nepoužívají operační systém Windows.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | Uri |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CimSession
Určuje relaci CIM na vzdáleném počítači. Zadejte proměnnou obsahující relaci CIM nebo příkaz, který získá relaci CIM, například příkaz Get-CimSession .
Import-Module
používá připojení relace CIM k importu modulů ze vzdáleného počítače do aktuální relace. Pokud použijete příkazy z importovaného modulu v aktuální relaci, příkazy se spustí na vzdáleném počítači.
Tento parametr můžete použít k importu modulů z počítačů a zařízení, na kterých běží operační systém Windows, a počítačů s Windows, které mají PowerShell, ale nemají povolenou vzdálené komunikace PowerShellu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | CimSession |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Cmdlet
Určuje pole rutin, které tato rutina importuje z modulu do aktuální relace. Jsou povoleny zástupné znaky.
Některé moduly při importu modulu automaticky exportují vybrané rutiny do relace. Tento parametr umožňuje vybírat z exportovaných rutin.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-DisableNameChecking
Označuje, že tato rutina potlačí zprávu, která vás upozorní při importu rutiny nebo funkce, jejíž název obsahuje neschválené sloveso nebo zakázaný znak.
Pokud modul, který importujete, ve výchozím nastavení exportuje rutiny nebo funkce, které mají ve svých názvech neschválené příkazy, zobrazí PowerShell následující zprávu upozornění:
UPOZORNĚNÍ: Některé importované názvy příkazů zahrnují neschválené příkazy, které by mohly být méně zjistitelné. Pokud chcete zobrazit seznam schválených sloves, použijte podrobný parametr Podrobné nebo zadejte Příkaz Get-Verb.
Tato zpráva je pouze upozornění. Kompletní modul se stále importuje, včetně nevyhovujících příkazů. I když se zpráva zobrazuje uživatelům modulu, měl by problém s pojmenováním vyřešit autor modulu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Force
Tento parametr způsobí, že se modul načte nebo znovu načte nad aktuální. Některé moduly načítají externí sestavení. Import selže, pokud importujete modul, který načte novější verzi sestavení. Parametr Force nemůže chybu přepsat. Pokud chcete načíst novou verzi, musíte spustit novou relaci.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-FullyQualifiedName
Hodnota může být název modulu, úplná specifikace modulu nebo cesta k souboru modulu.
Pokud je hodnota cesta, může být cesta plně kvalifikovaná nebo relativní. Relativní cesta je vyřešena vzhledem ke skriptu, který obsahuje příkaz using.
Pokud je hodnota název nebo specifikace modulu, PowerShell vyhledá zadaný modul v psModulePath .
Specifikace modulu je hashovatelná tabulka s následujícími klíči.
ModuleName
- Povinný argument Určuje název modulu.GUID
- Volitelné určuje identifikátor GUID modulu.- Je také povinné zadat aspoň jeden ze tří následujících klíčů.
ModuleVersion
– Určuje minimální přijatelnou verzi modulu.MaximumVersion
– Určuje maximální přijatelnou verzi modulu.RequiredVersion
– Určuje přesnou požadovanou verzi modulu. Tuto možnost nelze použít s jinými klíči verze.
Typ: | ModuleSpecification[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Function
Určuje pole funkcí, které tato rutina importuje z modulu do aktuální relace. Jsou povoleny zástupné znaky. Některé moduly při importu modulu automaticky exportuje vybrané funkce do relace. Tento parametr umožňuje vybírat z exportovaných funkcí.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
-Global
Označuje, že tato rutina importuje moduly do globálního stavu relace, aby byly dostupné pro všechny příkazy v relaci.
Ve výchozím nastavení se při Import-Module
zavolání rutiny z příkazového řádku, souboru skriptu nebo skriptublock všechny příkazy importují do globálního stavu relace.
Při vyvolání z jiného modulu Import-Module
rutina importuje příkazy v modulu, včetně příkazů z vnořených modulů, do stavu relace volajícího modulu.
Tip
Měli byste se vyhnout volání Import-Module
z modulu. Místo toho deklarujte cílový modul jako vnořený modul v manifestu nadřazeného modulu. Deklarace vnořených modulů zlepšuje zjistitelnost závislostí.
Globální parametr je ekvivalentní parametru Scope s hodnotou Global.
Pokud chcete omezit příkazy, které modul exportuje, použijte Export-ModuleMember
příkaz v modulu skriptu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-MaximumVersion
Určuje maximální verzi. Tato rutina importuje pouze verzi modulu, která je menší nebo rovna zadané hodnotě. Pokud není kvalifikovat žádná verze, Import-Module
vrátí chybu.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-MinimumVersion
Určuje minimální verzi. Tato rutina importuje pouze verzi modulu, která je větší nebo rovna zadané hodnotě. Použijte název parametru MinimumVersion nebo jeho alias Verze. Pokud kvalifikuje žádná verze, Import-Module
vygeneruje chybu.
Pokud chcete zadat přesnou verzi, použijte parametr RequiredVersion . Parametry modulu a verze klíčového slova #Requires můžete použít také k vyžadování konkrétní verze modulu ve skriptu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | Version |
Aliasy: | Version |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ModuleInfo
Určuje pole objektů modulu, které se mají importovat. Zadejte proměnnou, která obsahuje objekty modulu, nebo příkaz, který získá objekty modulu, například následující příkaz: Get-Module -ListAvailable
. Objekty modulu můžete také pipetovat do Import-Module
.
Typ: | PSModuleInfo[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Name
Určuje názvy modulů, které se mají importovat. Zadejte název modulu nebo název souboru v modulu, například .psd1
, .psm1
, .dll
nebo .ps1
soubor. Cesty k souborům jsou volitelné. Zástupné znaky nejsou povolené. Můžete také převést názvy modulů a názvy souborů na Import-Module
.
Pokud cestu vynecháte, Import-Module
vyhledá modul v cestách uložených $env:PSModulePath
v proměnné prostředí.
Kdykoli je to možné, zadejte pouze název modulu. Když zadáte název souboru, importují se pouze členové implementované v daném souboru. Pokud modul obsahuje další soubory, nenaimportují se a možná vám chybí důležité členy modulu.
Poznámka:
I když je možné importovat soubor skriptu (.ps1
) jako modul, soubory skriptů obvykle nejsou strukturované jako soubor souboru modulů skriptů (.psm1
). Import souboru skriptu nezaručuje, že je použitelný jako modul. Další informace najdete v tématu about_Modules.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-NoClobber
Zabrání importu příkazů se stejnými názvy jako existující příkazy v aktuální relaci. Ve výchozím nastavení Import-Module
importuje všechny exportované příkazy modulu.
Příkazy se stejnými názvy můžou v relaci skrýt nebo nahradit příkazy. Chcete-li zabránit konfliktům názvů příkazů v relaci, použijte parametry Prefix nebo NoClobber . Další informace o konfliktech názvů a prioritách příkazů najdete v tématu Moduly a konflikty názvů v about_Modules a about_Command_Precedence.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Aliasy: | NoOverwrite |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-PassThru
Vrátí objekt představující importovaný modul. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Prefix
Určuje předponu, kterou tato rutina přidá do podstatných jmen v názvech importovaných členů modulu.
Tento parametr použijte, chcete-li zabránit konfliktům názvů, ke kterým může dojít, když mají různé členy v relaci stejný název. Tento parametr nemění modul a nemá vliv na soubory, které modul importuje pro vlastní použití. Tyto moduly se označují jako vnořené moduly. Tato rutina má vliv jenom na jména členů v aktuální relaci.
Pokud například zadáte předponu UTC a pak importujete rutinu Get-Date
, rutina se v relaci označuje jako Get-UTCDate
a nezaměňuje se s původní Get-Date
rutinou.
Hodnota tohoto parametru má přednost před DefaultCommandPrefix vlastnost modulu, která určuje výchozí předponu.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-PSSession
Určuje relaci spravovanou uživatelem PowerShellu (PSSession), ze které tato rutina importuje moduly do aktuální relace. Zadejte proměnnou , která obsahuje psSession nebo příkaz, který získá psSession, například Get-PSSession
příkaz.
Při importu modulu z jiné relace do aktuální relace můžete použít rutiny z modulu v aktuální relaci stejně jako rutiny z místního modulu. Příkazy, které používají vzdálené rutiny, běží ve vzdálené relaci, ale podrobnosti vzdálené komunikace se spravují na pozadí pomocí PowerShellu.
Tento parametr používá funkci Implicitní vzdálené komunikace PowerShellu. Je ekvivalentem použití rutiny Import-PSSession
k importu konkrétních modulů z relace.
Import-Module
Nejde importovat základní moduly PowerShellu z jiné relace. Základní moduly PowerShellu mají názvy, které začínají Microsoft.PowerShellem.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | PSSession |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-RequiredVersion
Určuje verzi modulu, kterou tato rutina importuje. Pokud verze není nainstalovaná, Import-Module
vygeneruje chybu.
Ve výchozím nastavení Import-Module
importuje modul bez kontroly čísla verze.
Pokud chcete zadat minimální verzi, použijte parametr MinimumVersion . Parametry modulu a verze klíčového slova #Requires můžete použít také k vyžadování konkrétní verze modulu ve skriptu.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Skripty, které používají RequiredVersion k importu modulů, které jsou součástí stávajících verzí operačního systému Windows, se v budoucích verzích operačního systému Windows automaticky nespustí. Důvodem je to, že čísla verzí modulu PowerShellu v budoucích verzích operačního systému Windows jsou vyšší než čísla verzí modulů v existujících verzích operačního systému Windows.
Typ: | Version |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Scope
Určuje obor pro import modulu.
Tento parametr přijímá tyto hodnoty:
- Globální. K dispozici pro všechny příkazy v relaci. Ekvivalent globálního parametru.
- Místní. K dispozici pouze v aktuálním oboru.
Ve výchozím nastavení se při Import-Module
zavolání rutiny z příkazového řádku, souboru skriptu nebo skriptublock všechny příkazy importují do globálního stavu relace. Tento parametr můžete použít -Scope Local
k importu obsahu modulu do oboru skriptu nebo skriptu.
Při vyvolání z jiného modulu Import-Module
rutina importuje příkazy v modulu, včetně příkazů z vnořených modulů, do stavu relace volajícího. -Scope Global
Určuje nebo -Global
označuje, že tato rutina importuje moduly do globálního stavu relace, aby byly dostupné pro všechny příkazy v relaci.
Globální parametr je ekvivalentní parametru Scope s hodnotou Global.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | String |
Přípustné hodnoty: | Local, Global |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SkipEditionCheck
Přeskočí kontrolu CompatiblePSEditions
pole.
Umožňuje načtení modulu z "$($env:windir)\System32\WindowsPowerShell\v1.0\Modules"
adresáře modulu do PowerShellu Core, pokud tento modul v poli manifestu CompatiblePSEditions
neurčíCore
.
Při importu modulu z jiné cesty tento přepínač nedělá nic, protože se kontrola neprovádí. V Linuxu a macOS tento přepínač nedělá nic.
Další informace najdete v tématu about_PowerShell_Editions.
Upozorňující
Import-Module -SkipEditionCheck
je stále pravděpodobné, že se nepodaří importovat modul. I když se to podaří, vyvolání příkazu z modulu může později selhat, když se pokusí použít nekompatibilní rozhraní API.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UseWindowsPowerShell
Načte modul pomocí funkce kompatibility prostředí Windows PowerShell. Další informace najdete v tématu about_Windows_PowerShell_Compatibility .
Typ: | SwitchParameter |
Aliasy: | UseWinPS |
Position: | Named |
Default value: | False |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Variable
Určuje pole proměnných, které tato rutina importuje z modulu do aktuální relace. Zadejte seznam proměnných. Jsou povoleny zástupné znaky.
Některé moduly při importu modulu automaticky exportují vybrané proměnné do relace. Tento parametr umožňuje vybírat z exportovaných proměnných.
Typ: | String[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | True |
Vstupy
Do této rutiny můžete připojit název modulu.
Objekt modulu můžete do této rutiny převést.
Objekt sestavení můžete do této rutiny převést.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Pokud zadáte parametr PassThru , rutina vygeneruje objekt System.Management.Automation.PSModuleInfo , který představuje importovaný modul.
Pokud společně zadáte parametry AsCustomObject a PassThru , rutina vygeneruje objekt PSCustomObject , který představuje modul.
Poznámky
PowerShell obsahuje následující aliasy pro Import-Module
:
Všechny platformy:
ipmo
Než budete moct importovat modul, musí být modul přístupný pro místní počítač a zahrnutý do
PSModulePath
proměnné prostředí. Další informace najdete v tématu about_Modules.K importu modulů nainstalovaných na vzdálených počítačích můžete také použít parametry PSSession a CIMSession . Příkazy, které používají rutiny v těchto modulech, však běží ve vzdálené relaci na vzdáleném počítači.
Pokud do relace importujete členy se stejným názvem a stejným typem, PowerShell ve výchozím nastavení použije člena importovaného jako poslední. Proměnné a aliasy jsou nahrazeny a originály nejsou přístupné. Funkce, rutiny a poskytovatelé jsou pouze stínovány novými členy. K nim je možné získat přístup tak, že k názvu příkazu použijete název modulu snap-in, modulu nebo cesty funkce.
Pokud chcete aktualizovat formátovací data pro příkazy importované z modulu, použijte tuto rutinu
Update-FormatData
. Pokud se formátovací soubor modulu změní, aktualizujteUpdate-FormatData
pomocí rutiny data formátování pro importované příkazy. Modul nemusíte znovu importovat.Počínaje Windows PowerShellem 3.0 se základní příkazy nainstalované pomocí PowerShellu zabalí do modulů. V prostředí Windows PowerShell 2.0 a v hostitelských programech, které vytvářejí relace staršího stylu v novějších verzích PowerShellu, se základní příkazy zabalí do modulů snap-in (PSSnapins). Výjimkou je Microsoft.PowerShell.Core, což je vždy modul snap-in. Vzdálené relace, například relace spuštěné rutinou
New-PSSession
, jsou také relace ve starším stylu, které zahrnují základní moduly snap-in.Informace o createDefault2 metoda, která vytváří novější relace se základními moduly, naleznete v CreateDefault2 Metoda.
V prostředí Windows PowerShell 2.0 nebyly některé hodnoty vlastností objektu modulu, jako jsou exportovanécmdlety a hodnoty vlastností NestedModules , vyplněny, dokud se modul nenaimportoval.
Pokud se pokusíte importovat modul, který obsahuje sestavení smíšeného režimu, která nejsou kompatibilní s Prostředím Windows PowerShell 3.0+,
Import-Module
vrátí chybovou zprávu podobná následující.Modul importu: Sestavení smíšeného režimu je sestaveno proti verzi modulu runtime v2.0.50727 a nelze ji načíst do modulu runtime 4.0 bez dalších informací o konfiguraci.
K této chybě dochází v případě, že modul navržený pro Prostředí Windows PowerShell 2.0 obsahuje alespoň jedno sestavení smíšeného modulu. Sestavení se smíšeným modulem, které zahrnuje spravovaný i nespravovaný kód, například C++ a C#.
Pokud chcete importovat modul, který obsahuje sestavení smíšeného režimu, spusťte Windows PowerShell 2.0 pomocí následujícího příkazu a opakujte
Import-Module
příkaz.PowerShell.exe -Version 2.0
Aby bylo možné používat funkci relace CIM, musí mít vzdálený počítač vzdálenou vzdálenou správu WS-Management a rozhraní WMI (Windows Management Instrumentation), což je implementace modelu CIM (Common Information Model). Počítač musí mít také poskytovatele rozhraní WMI pro zjišťování modulů nebo alternativního poskytovatele CIM, který má stejné základní funkce.
Funkci relace CIM můžete použít na počítačích, na kterých není spuštěn operační systém Windows a na počítačích s Windows, které mají PowerShell, ale nemají povolenou vzdálené komunikace PowerShellu.
Parametry CIM můžete také použít k získání modulů CIM z počítačů s povolenou vzdálené komunikace PowerShellu, včetně místního počítače. Při vytváření relace CIM na místním počítači používá PowerShell k vytvoření relace DCOM místo rozhraní WMI.
Ve výchozím nastavení
Import-Module
importuje moduly v globálním oboru i v případě, že je volána z potomkového oboru. Obor nejvyšší úrovně a všechny potomky mají přístup k exportovaným prvkům modulu.V oboru potomku
-Scope Local
omezí import na tento obor a všechny jeho potomky. Nadřazené obory se pak nezobrazují importovaným členům.Poznámka:
Get-Module
zobrazí všechny moduly načtené v aktuální relaci. To zahrnuje moduly načtené místně v oboru potomků. UmožňujeGet-Command -Module modulename
zobrazit, které členy jsou načteny v aktuálním oboru.Import-Module
nenačítá definice tříd a výčtů v modulu. Použijte příkazusing module
na začátku skriptu. Tím se naimportuje modul, včetně definic tříd a výčtů. Další informace najdete v tématu about_Using.Při vývoji modulu skriptu je běžné provádět změny kódu a pak načíst novou verzi modulu pomocí
Import-Module
parametru Force . To funguje jenom pro změny funkcí v kořenovém modulu.Import-Module
nenačítá žádné vnořené moduly. Neexistuje také způsob, jak načíst žádné aktualizované třídy nebo výčty.Pokud chcete získat aktualizované členy modulu definované v vnořených modulech, odeberte modul s
Remove-Module
a pak modul znovu naimportujte.Pokud byl modul načten příkazem
using
, musíte zahájit novou relaci pro import aktualizovaných definic pro třídy a výčty. Třídy a výčty definované v PowerShellu a importované pomocíusing
příkazu se nedají uvolnit.