Sdílet prostřednictvím


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]
      [-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]
      [-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]
      [-PassThru]
      [-AsCustomObject]
      [-MinimumVersion <Version>]
      [-MaximumVersion <String>]
      [-RequiredVersion <Version>]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>]
      -CimSession <CimSession>
      [-CimResourceUri <Uri>]
      [-CimNamespace <String>]
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-FullyQualifiedName] <ModuleSpecification[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-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]
      [-PassThru]
      [-AsCustomObject]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>]
      -PSSession <PSSession>
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-Assembly] <Assembly[]>
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-PassThru]
      [-AsCustomObject]
      [-ArgumentList <Object[]>]
      [-DisableNameChecking]
      [-NoClobber]
      [-Scope <String>]
      [<CommonParameters>]
Import-Module
      [-Global]
      [-Prefix <String>]
      [-Function <String[]>]
      [-Cmdlet <String[]>]
      [-Variable <String[]>]
      [-Alias <String[]>]
      [-Force]
      [-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ů. Moduly, které importujete, musí být nainstalovány na místním počítači nebo ve vzdáleném počítači.

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 modulu ale můžete použít příkaz Import-Module a můžete povolit a zakázat automatické importování modulů pomocí proměnné předvolby $PSModuleAutoloadingPreference. Další informace omodule about_Moduleschch Další informace o proměnné $PSModuleAutoloadingPreference naleznete 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.

K importu modulu použijte Name, Assembly, ModuleInfo, MinimumVersion a RequiredVersion parametry k identifikaci modulu, který se má importovat. Ve výchozím nastavení importuje všechny členy, které modul exportuje, ale můžete použítalias , funkce, rutinya parametry proměnné omezit importované členy. Pomocí parametru NoClobber můžete také zabránit Import-Module v importu členů se stejnými názvy jako členové v aktuální relaci.

Import-Module importuje modul pouze do aktuální relace. Pokud chcete modul importovat do všech relací, přidejte do profilu PowerShellu příkaz Import-Module. Další informace oprofilech about_Profilesch

Počínaje Windows PowerShellem 3.0 můžete pomocí Import-Module importovat moduly MODELU CIM (Common Information Model), ve kterých jsou rutiny definované v souborech CDXML (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++.

Díky těmto novým funkcím se rutina Import-Module stane primárním nástrojem pro správu heterogenních podniků, které zahrnují počítače s operačním systémem Windows a počítače s jinými operačními systémy.

Pokud chcete spravovat vzdálené počítače se vzdáleným operačním systémem Windows, které mají povolené vzdálené komunikace PowerShellu a PowerShellu, vytvořte na vzdáleném počítači PSSession a potom pomocí parametru PSSession Get-Module získejte moduly PowerShellu v PSSession. Při importu modulů a následném použití importovaných příkazů v aktuální relaci se příkazy spouští implicitně v PSSession na vzdáleném počítači. Tuto strategii můžete použít ke správě vzdáleného počítače.

Podobnou strategii můžete použít ke správě počítačů, které nemají povolenou vzdálené komunikace PowerShellu, včetně počítačů, které nepoužívají operační systém Windows, a počítačů s Windows, které mají PowerShell, ale nemají povolenou vzdálené komunikace PowerShellu.

Začněte vytvořením relace CIM na vzdáleném počítači, což je připojení ke službě WMI (Windows Management Instrumentation) ve vzdáleném počítači. Pak pomocí parametru CIMSessionImport-Module naimportujte moduly CIM ze vzdáleného počítače. Při importu modulu CIM a následném spuštění importovaných příkazů se příkazy spouští implicitně na vzdáleném počítači. Tuto strategii rozhraní WMI a CIM můžete použít ke správě vzdáleného počítače.

Příklady

Příklad 1: Import členů modulu do aktuální relace

Tento příklad importuje členy modulu PSDiagnostics do aktuální relace. Název název parametru je volitelný a je možné ho vynechat.

Import-Module -Name PSDiagnostics

Ve výchozím nastavení Import-Module při importu modulu nevygeneruje žádný výstup. K vyžádání výstupu použijte parametr PassThru nebo AsCustomObject nebo podrobný společný parametr.

Příklad 2: Import všech modulů určených cestou k modulu

Tento příklad naimportuje všechny dostupné moduly v cestě určené proměnnou prostředí $env:PSModulePath do aktuální relace.

Get-Module -ListAvailable | Import-Module

Příklad 3: Import členů několika modulů do aktuální relace

Tento příklad importuje č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 proměnné $m. Parametr ListAvailable se vyžaduje, když získáváte moduly, které ještě nejsou importovány do relace.

ModuleInfo parametr Import-Module se používá k importu modulů do aktuální relace.

Tyto příkazy jsou ekvivalentní použití operátoru kanálu (|) k odeslání výstupu příkazu Get-Module do Import-Module.

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í parametru Podrobné způsobí, že Import-Module ohlásí průběh při načítání modulu. Bez Podrobné, PassThrunebo AsCustomObject parametr, Import-Module 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.

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

První příkaz importuje pouze rutiny Disable-PSTrace a Enable-PSTrace z modulu PSDiagnostics. Parametr Funkce omezuje členy importované z modulu. K omezení ostatních členů importu modulu můžete také použítalias, proměnnéa parametry rutiny.

Rutina Get-Module získá objekt, který představuje modul PSDiagnostics. Vlastnost ExportedCmdlets uvádí všechny rutiny, které modul exportuje, i když nebyly všechny importovány.

Ve třetím příkazu získá parametr Module rutiny Get-Command příkazy importované z modulu PSDiagnostics. Výsledky potvrdí, že se importovaly jenom rutiny Disable-PSTrace a Enable-PSTrace.

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ů. Předpona se vztahuje pouze na členy v aktuální relaci. Modul se nezmění.

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

Používá parametr PrefixImport-Module přidá předponu x všem členům importovaným z modulu a parametr PassThru k vrácení objektu modulu, který představuje importovaný modul.

Rutina Get-Command pro získání členů importovaných 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

Tyto příkazy ukazují, jak získat a použít vlastní objekt, který import-module vrátí.

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 velmi 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 lze použít pouze při importu modulu skriptu, takže prvním úkolem je určit, které z dostupných modulů je modul skriptu.

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"()

První příkaz používá rutinu Get-Module k získání dostupných modulů. Příkaz pomocí operátoru kanálu předává objekty modulu rutině Format-Table, která obsahuje seznam Name a ModuleType každého modulu v tabulce.

Druhý příkaz používá rutinu Import-Module k importu modulu skriptu Show-Calendar. Příkaz používá parametr AsCustomObject k vyžádání vlastního objektu a parametr PassThru k vrácení objektu. Příkaz uloží výsledný vlastní objekt do proměnné $a.

Třetí příkaz pomocí operátoru kanálu odešle proměnnou $a do rutiny Get-Member, která získá vlastnosti a metody PSCustomObject v $a. Výstup zobrazuje metodu skriptu Show-Calendar().

Poslední příkaz používá metodu skriptu Show-Calendar. Název metody musí být uzavřený v uvozovkách, protože obsahuje spojovník.

Příklad 8: Opětovné importování modulu do stejné relace

Tento příklad ukazuje, jak použít parametr ForceImport-Module při opětovném importu modulu do stejné relace.

Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS

První příkaz naimportuje modul PSDiagnostics. Druhý příkaz znovu naimportuje modul, tentokrát pomocí parametru předpony .

Pomocí parametru Force modul Import-Module odebere a pak ho znovu naimportuje. Bez tohoto parametru 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:26:12 PM

Prvnícmdlet returns a **DateTime** object with the current date. After importing the **TestModule** module,Get-Date vrátí rok a den v roce.

Pomocí parametru AllGet-Command získáme všechny příkazy Get-Date v relaci. Výsledky ukazují, že v relaci existují dva příkazy Get-Date, funkce z modulu TestModule a rutina z modulu Microsoft.PowerShell.Utility.

Vzhledem k tomu, že funkce mají přednost před rutinami, spustí se funkce Get-Date 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ě příkazů v PowerShellu najdete v tématu about_Command_Precedence.

Příklad 10: Import minimální verze modulu

Import-Module -Name PSWorkflow -MinimumVersion 3.0.0.0

Tento příkaz importuje modul PSWorkflow. Používá parametr MinimumVersionImport-Module k importu pouze verze 3.0.0.0 nebo vyšší modulu.

K importu konkrétní verze modulu můžete také použít parametr RequiredVersion nebo použít Module a version parametry klíčového slova #Requires, které vyžadují konkrétní verzi modulu ve skriptu.

Příklad 11: 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 skutečně 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

První příkaz používá rutinu New-PSSession k vytvoření vzdálené relace (PSSession) do počítače Server01. Příkaz uloží psSession do proměnné $s.

Druhý příkaz pomocí parametru PSSession rutiny Get-Module získá modul NetSecurity v relaci v proměnné $s. Tento příkaz je ekvivalentní použití rutiny Invoke-Command ke spuštění příkazu Get-Module v relaci v $s (Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity). Výstup ukazuje, že v počítači je nainstalovaný modul NetSecurity a je k dispozici pro relaci v proměnné $s.

Třetí příkaz používá parametr PSSession rutiny Import-Module k importu modulu NetSecurity z relace v proměnné $s do aktuální relace.

Čtvrtý příkaz používá rutinu Get-Command k získání příkazů začínajících Get a zahrnutí brány firewall z modulu NetSecurity. Výstup získá příkazy a potvrdí, že modul a jeho rutiny byly importovány do aktuální relace.

Pátý příkaz používá rutinu Get-NetFirewallRule k získání pravidel brány firewall vzdálené správy systému Windows na počítači se serverem Server01. Tento příkaz je ekvivalentní použití rutiny Invoke-Command ke spuštění příkazu Get-NetFirewallRule v relaci v proměnné $s.

Příklad 12: Správa úložiště na vzdáleném počítači bez operačního systému Windows

V tomto příkladu, protože správce počítače nainstaloval zprostředkovatele rozhraní WMI zjišťování modulů, mohou příkazy CIM používat výchozí hodnoty, které jsou určené pro zprostředkovatele.

Příkazy v tomto příkladu umožňují spravovat systémy úložiště vzdáleného počítače, na kterém není spuštěn operační systém Windows.

První příkaz pomocí rutiny New-CimSession vytvoří relaci ve vzdáleném počítači RSDGF03. Relace se připojí ke službě WMI ve vzdáleném počítači. Příkaz uloží relaci CIM do proměnné $cs.

Druhý příkaz používá relaci CIM v proměnné $cs ke spuštění příkazu Import-Module na RSDGF03 počítači. Příkaz pomocí parametru Name určuje modul CIM Storage.

Třetí příkaz spustí Get-Command příkaz na Get-Disk 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.

Čtvrtý příkaz spustí příkaz Get-Disk. Přestože je příkaz zadán v místní relaci, spouští se implicitně na vzdáleném počítači, ze kterého byl importován. Příkaz získá objekty ze vzdáleného počítače a vrátí je 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 předávají modulu skriptu během příkazu Import-Module. Tento parametr je platný pouze při importu modulu skriptu.

Můžete také odkazovat na ArgumentList parametr podle jeho aliasu, args. Další informace naleznete v tématu about_Aliases.

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, importuje členy modulu do relace a vrátí PSCustomObject objekt místo objektu PSModuleInfo objektu. Vlastní objekt můžete uložit do proměnné a pomocí tečkovaného zápisu 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.

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á 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 skutečně běží 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 není spuštěn 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é. Seznam schválených příkazů zobrazíte pomocí podrobného parametru pro další podrobnosti nebo typ 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í načtení nebo opětovné načtení modulu nad aktuálního parametru.

Typ:SwitchParameter
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-FullyQualifiedName

Určuje plně kvalifikovaný název specifikace modulu.

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 k dispozici pro všechny příkazy v relaci.

Ve výchozím nastavení se při zavolání rutiny Import-Module 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.

Spropitné

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í.

Parametr Global odpovídá parametru Scope s hodnotou Global.

Pokud chcete omezit příkazy, které modul exportuje, použijte v modulu skriptu příkaz Export-ModuleMember.

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 kvalifikuje žádná verze, Import-Module vygeneruje 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ě. Pokud kvalifikuje žádná verze, Import-Module vygeneruje chybu.

Ve výchozím nastavení Import-Module importuje modul bez kontroly čísla verze.

Použijte název parametru MinimumVersion nebo jeho alias Verze.

Pokud chcete zadat přesnou verzi, použijte parametr RequiredVersion. Můžete také použít parametry modulu a verze klíčového slova #Requires 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 soubor .psd1, .psm1, .dllnebo ps1. Cesty k souborům jsou volitelné. Zástupné znaky nejsou povoleny. Názvy modulů a názvy souborů můžete také pipetovat do Import-Module.

Pokud cestu vynecháte, Import-Module vyhledá modul v cestách uložených v proměnné prostředí $env:PSModulePath.

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á chybí důležité členy modulu.

Typ:String[]
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:True

-NoClobber

Označuje, že tato rutina neimportuje příkazy se stejnými názvy jako existující příkazy v aktuální relaci. Ve výchozím nastavení Import-Module importují 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 předpony 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í položku, se kterou pracujete. 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 naimportujete rutinu Get-Date, rutina se v relaci označuje jako Get-UTCDatea nezaměňuje se s původní rutinou Get-Date.

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 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, skutečně 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 ekvivalentní použití rutiny Import-PSSession k importu konkrétních modulů z relace.

Import-Module nemůže importovat moduly PowerShell Core z jiné relace. Moduly PowerShell Core 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. Můžete také použít parametry modulu a verze klíčového slova #Requires 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, do kterého tato rutina importuje modul.

Přijatelné hodnoty pro tento parametr jsou:

  • Global. K dispozici pro všechny příkazy v relaci. Ekvivalent parametru Global.
  • místní. K dispozici pouze v aktuálním oboru.

Ve výchozím nastavení se při zavolání rutiny Import-Module z příkazového řádku, souboru skriptu nebo skriptublock všechny příkazy importují do globálního stavu relace. Pomocí parametru -Scope s hodnotou Místní můžete importovat obsah 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. Zadání -Scope Global 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.

Parametr Global odpovídá 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:Current scope
Vyžadováno:False
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

System.String, System.Management.Automation.PSModuleInfo, System.Reflection.Assembly

Do této rutiny můžete připojit název modulu, objekt modulu nebo objekt sestavení.

Výstupy

None, System.Management.Automation.PSModuleInfo, or System.Management.Automation.PSCustomObject

Tato rutina vrátí PSModuleInfo nebo PSCustomObject. Ve výchozím nastavení Import-Module negeneruje žádný výstup. Pokud zadáte parametr PassThru, rutina vygeneruje System.Management.Automation.PSModuleInfo objekt, který představuje modul. Pokud zadáte parametr AsCustomObject, vygeneruje objekt PSCustomObject.

Poznámky

  • Než budete moct importovat modul, musí být modul nainstalovaný na místním počítači. To znamená, že adresář modulu se musí zkopírovat do adresáře, který je přístupný vašemu místnímu počítači. Další informace naleznete v tématu about_Modules.

    K importu modulů nainstalovaných na vzdálených počítačích můžete také použít a parametry CIMSes sion. Příkazy, které používají rutiny v těchto modulech, se však ve skutečnosti spouští 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 zprostředkovatelé 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 rutinu Update-FormatData. Update-FormatData také aktualizuje formátovací data pro příkazy v relaci importované z modulů. Pokud se formátovací soubor modulu změní, můžete spustit příkaz Update-FormatData, který aktualizuje formátovací data 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, jako jsou relace spuštěné rutinou New-PSSession, jsou také relace ve starším stylu, které zahrnují základní moduly snap-in.

    Informace o metodě CreateDefault2, která vytváří novější relace se základními moduly, naleznete v CreateDefault2 Metoda.

  • Import-Module nemůže importovat moduly PowerShell Core z jiné relace. Moduly PowerShell Core mají názvy, které začínají Microsoft.PowerShellem.

  • V prostředí Windows PowerShell 2.0 nebyly některé hodnoty vlastností objektu modulu, například ExportedCmdlets a NestedModules hodnoty vlastností, vyplněny, dokud se modul nenaimportoval a nebyl k dispozici u objektu modulu, který PassThru parametr vrátí. Ve Windows PowerShellu 3.0 se vyplní všechny hodnoty vlastností modulu.

  • 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í.

    Import-Module: Sestavení smíšeného režimu je sestaveno s verzí modulu runtime v2.0.50727 a nelze ho 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í se smíšeným modulem, tj. sestavení, 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 potom zkuste příkaz Import-Module znovu.

    PowerShell.exe -Version 2.0

  • Aby bylo možné používat funkci relace CIM, musí mít vzdálený počítač WS-Management vzdálenou komunikace a rozhraní WMI (Windows Management Instrumentation), což je implementace modelu CIM (Common Information Model) od Microsoftu. 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.