Udostępnij za pośrednictwem


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 co najmniej jeden moduł 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.

Można zarządzać zdalnymi komputerami z systemem Windows z włączoną funkcją komunikacji zdalnej programu PowerShell, tworząc sesję 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 importowanych poleceń w bieżącej sesji polecenia są niejawnie uruchamiane na komputerze zdalnym.

Począwszy od Windows PowerShell 3.0, można użyć Import-Module do importowania modułów modelu wspólnych informacji (CIM). Moduły CIM definiują polecenia cmdlet w plikach XML definicji poleceń cmdlet (CDXML). Ta funkcja umożliwia korzystanie z 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 do bieżącej sesji zaimportowane są elementy członkowskie modułu PSDiagnostics .

Import-Module -Name PSDiagnostics

Przykład 2: Importowanie wszystkich modułów określonych przez ścieżkę modułu

Ten przykład importuje wszystkie dostępne moduły 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 do bieżącej sesji importuje elementy członkowskie modułów PSDiagnostics i Dism .

$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 służy do importowania Import-Module 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-ModuleVerbose, 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 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

Przy użyciu parametru Get-CommandModule polecenia cmdlet są wyświetlane 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

Ten przykład importuje moduł PSDiagnostics do bieżącej sesji, dodaje prefiks do nazw elementów członkowskich, a następnie wyświetla prefiks nazwy składowych. Parametr Import-ModulePrefiks polecenia dodaje prefiks x 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 elementy członkowskie 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-Moduleelement .

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 skryptów obiektu niestandardowego.

Obiekty niestandardowe są przydatne w skryptach. Są one również przydatne, gdy kilka importowanych obiektów ma takie same nazwy. Użycie metody skryptu obiektu jest równoważne określeniu w pełni kwalifikowanej nazwy zaimportowanego elementu członkowskiego, w tym jego nazwy modułu.

Parametr AsCustomObject może być używany tylko podczas importowania modułu skryptu. Użyj Get-Module polecenia , aby określić, który 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ł Show-Calendar skryptu jest importowany przy użyciu parametru AsCustomObject w celu zażądania obiektu niestandardowego i parametru PassThru w celu zwrócenia obiektu. Wynikowy obiekt niestandardowy jest zapisywany w zmiennej $a .

Zmienna $a jest potokowana 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 Import-ModuleForce podczas 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 , jedną z nazwą standardową i jedną z prefiksem nazwy.

Przykład 9. Uruchamianie poleceń, które zostały ukryte przez zaimportowane polecenia

W tym przykładzie pokazano, jak uruchamiać polecenia, które zostały 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-DateTestModule zwraca rok i dzień roku.

Przy użyciu parametru Get-CommandAll polecenia 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 parametru , Import-Module aby zaimportować tylko wersję 2.0.0 lub nowszą 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 #RequiresModuł i wersja 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 używające 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 komputerze Server01. Plik PSSession jest zapisywany w zmiennej $s .

Uruchomienie Get-Module polecenia 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 cmdlet służy do pobierania Get-Command poleceń rozpoczynających się od polecenia Get i include Firewall z modułu NetSecurity . 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 komputerze Server01. 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ń 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 ciągłej integracji jest zapisywana w zmiennej $cs . Import-Module Program używa narzędzia CimSession w programie w $cs celu zaimportowania modułu CIM usługi Storage z komputera RSDGF03.

Polecenie Get-Command cmdlet wyświetla 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 Get-Disk że 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ź listę aliasów rozdzielanych przecinkami. 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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-ArgumentList

Określa tablicę argumentów lub wartości parametrów, które są przekazywane do modułu skryptu Import-Module podczas wykonywania 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.

Type:Object[]
Aliases:Args
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

W przypadku użycia parametru AsCustomObject importuje elementy członkowskie modułu do sesji, Import-Module a następnie zwraca obiekt PSCustomObject zamiast obiektu PSModuleInfo . Możesz zapisać obiekt niestandardowy w zmiennej i użyć notacji kropkowej, aby wywołać elementy członkowskie.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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. Obiekt zestawu można również przekazać potokiem do Import-Moduleelementu .

Jeśli używasz tego parametru, importowane są tylko polecenia cmdlet i dostawcy zaimplementowani przez określone zestawy. Jeśli moduł zawiera inne pliki, nie są one importowane i może brakować ważnych elementów członkowskich modułu. Użyj tego parametru do debugowania i testowania modułu lub poinstruowaniu, aby używać go przez autora modułu.

Type:Assembly[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CimNamespace

Określa przestrzeń nazw alternatywnego dostawcy ciągłej integracji, który uwidacznia moduły CIM. Wartość domyślna to przestrzeń nazw dostawcy usługi WMI odnajdywania modułów.

Ten parametr służy do importowania modułów CIM z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows.

Ten parametr został wprowadzony w Windows PowerShell 3.0.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Ten parametr służy do importowania modułów CIM z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows.

Ten parametr został wprowadzony w Windows PowerShell 3.0.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Określa sesję 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 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.

Ten parametr służy do importowania modułów z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows i komputerów z systemem Windows z programem PowerShell, ale nie mają włączonej komunikacji zdalnej programu PowerShell.

Ten parametr został wprowadzony w Windows PowerShell 3.0.

Type:CimSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 niezgodne polecenia. Mimo że komunikat jest wyświetlany dla użytkowników modułów, problem z nazewnictwem powinien zostać rozwiązany przez autora modułu.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Ten parametr powoduje załadowanie lub ponowne załadowanie modułu na początku bieżącego.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FullyQualifiedName

Określa w pełni kwalifikowaną nazwę modułu jako tabelę skrótów. Wartość może być kombinacją ciągów i tabel skrótów. Tabela skrótów ma następujące klucze.

  • ModuleName - Wymagane Określa nazwę modułu.
  • GUID - Opcjonalne Określa identyfikator GUID modułu.
  • Jest to również wymagane , aby określić jeden z trzech poniższych kluczy. Tych kluczy nie można używać razem.
    • ModuleVersion — Określa minimalną akceptowalną wersję modułu.
    • RequiredVersion — Określa dokładną, wymaganą wersję modułu.
    • MaximumVersion - Określa maksymalną akceptowalną wersję modułu.
Type:ModuleSpecification[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Function

Określa tablicę funkcji importowanych przez to polecenie cmdlet 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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Porada

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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 skrycie.

Ten parametr został wprowadzony w Windows PowerShell 3.0.

Type:Version
Aliases:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ż potokować obiekty modułów do Import-Module.

Type:PSModuleInfo[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Określa nazwy modułów do zaimportowania. Wprowadź nazwę modułu lub nazwę pliku w module, na przykład .psd1, .psm1, .dlllub .ps1 plik. Ścieżki plików są opcjonalne. Symbole wieloznaczne nie są dozwolone. Możesz 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, gdy 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 być może brakuje ważnych elementów członkowskich modułu.

Uwaga

Chociaż istnieje możliwość zaimportowania pliku skryptu (.ps1) jako modułu, pliki skryptów zwykle nie są ustrukturyzowane jak plik modułów skryptów (.psm1). Importowanie pliku skryptu nie gwarantuje, że można go używać jako modułu. Aby uzyskać więcej informacji, zobacz about_Modules.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 Windows PowerShell 3.0.

Type:SwitchParameter
Aliases:NoOverwrite
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

Zwraca obiekt reprezentujący element, z którym pracujesz. Domyślnie to polecenie cmdlet nie generuje żadnego wyniku.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Prefix

Określa prefiks, który to polecenie cmdlet dodaje do un 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żytku. Są to moduły zagnieżdżone. To polecenie cmdlet ma wpływ 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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ą polecenie PSSession lub polecenie, które pobiera polecenie 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 ona równoważna Import-PSSession użyciu polecenia cmdlet do importowania określonych modułów z sesji.

Import-Module program nie może 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 Windows PowerShell 3.0.

Type:PSSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Określa wersję modułu, którą importuje 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 skrycie.

Ten parametr został wprowadzony w 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. Wynika to z faktu, że 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.

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Określa zakres, w którym to polecenie cmdlet importuje moduł.

Dopuszczalne wartości dla tego parametru to:

  • Globalny. Dostępne dla wszystkich poleceń w sesji. Odpowiednik parametru globalnego .
  • Lokalne. 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 Windows PowerShell 3.0.

Type:String
Accepted values:Local, Global
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 powiedzie się, wywołanie polecenia z modułu może później zakończyć się niepowodzeniem, gdy spróbuje użyć niezgodnego interfejsu API.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseWindowsPowerShell

Ładuje moduł przy użyciu funkcji zgodności Windows PowerShell. Aby uzyskać więcej informacji, zobacz about_Windows_PowerShell_Compatibility .

Type:SwitchParameter
Aliases:UseWinPS
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Variable

Określa tablicę zmiennych importowanych przez to polecenie cmdlet 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.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Dane wejściowe

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

Możesz przekazać do tego polecenia cmdlet nazwę modułu, obiekt modułu lub obiekt zestawu.

Dane wyjściowe

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

Domyślnie Import-Module nie generuje żadnych danych wyjściowych. Jeśli określisz parametr PassThru , polecenie cmdlet wygeneruje obiekt System.Management.Automation.PSModuleInfo reprezentujący moduł. Jeśli określisz parametr AsCustomObject , wygeneruje on obiekt PSCustomObject .

Uwagi

  • Aby można było zaimportować moduł, moduł musi zostać zainstalowany na komputerze lokalnym. Oznacza to, że katalog modułu musi zostać skopiowany do katalogu, który jest dostępny dla komputera lokalnego. 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.

  • Jeśli importujesz elementy członkowskie o tej samej nazwie i tym samym typie do sesji, program PowerShell domyślnie używa elementu członkowskiego zaimportowany jako ostatni. Zmienne i aliasy są zastępowane, a oryginały nie są dostępne. Funkcje, polecenia cmdlet i dostawcy są jedynie 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 . Update-FormatData Aktualizuje również dane formatowania dla poleceń w sesji, które zostały zaimportowane z modułów. Jeśli plik formatowania modułu ulegnie zmianie, możesz uruchomić Update-FormatData polecenie , aby zaktualizować dane formatowania dla zaimportowanych poleceń. Nie trzeba ponownie importować modułu.

  • Począwszy od Windows PowerShell 3.0, podstawowe polecenia instalowane przy użyciu programu PowerShell są pakowane w modułach. W Windows PowerShell 2.0 i w programach hosta, które tworzą starsze sesje w nowszych wersjach programu PowerShell, podstawowe polecenia są pakowane w przystawki (PSSnapins). Wyjątek to Microsoft.PowerShell.Core, który jest zawsze przystawką. Ponadto sesje zdalne, takie jak te uruchamiane 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 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 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 do Windows PowerShell 2.0 zawiera co najmniej jeden zestaw modułu mieszanego. 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 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 wspólnych informacji, komputer zdalny musi mieć WS-Management komunikacji zdalnej i instrumentacji 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 ma włączonej komunikacji zdalnej programu PowerShell.

    Możesz również użyć parametrów ciM, aby pobrać moduły CIM z komputerów z włączoną obsługą komunikacji zdalnej programu PowerShell, w tym z komputerem lokalnym. Podczas tworzenia sesji ciągłej integracji 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 wyświetla wszystkie moduły załadowane w bieżącej sesji. Obejmuje to moduły ładowane lokalnie w zakresie potomnym. Użyj polecenia Get-Command -Module modulename , aby zobaczyć, które elementy członkowskie są ładowane w bieżącym zakresie.

    Import-Module program nie ładuje definicji klas i wyliczenia w module. Użyj instrukcji using module na początku skryptu. Spowoduje to zaimportowanie modułu, w tym definicji klasy i wyliczenia. Aby uzyskać więcej informacji, zobacz about_Using.