Udostępnij za pośrednictwem


Get-Module

Wyświetl listę modułów zaimportowanych w bieżącej sesji lub zaimportowanych z modułu PSModulePath.

Składnia

Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-All]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-All]
   [-ListAvailable]
   [-PSEdition <String>]
   [-SkipEditionCheck]
   [-Refresh]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-PSEdition <String>]
   [-SkipEditionCheck]
   [-Refresh]
   -PSSession <PSSession>
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-SkipEditionCheck]
   [-Refresh]
   -CimSession <CimSession>
   [-CimResourceUri <Uri>]
   [-CimNamespace <String>]
   [<CommonParameters>]

Opis

Polecenie cmdlet Get-Module zawiera listę zaimportowanych modułów programu PowerShell lub zaimportowanych do sesji programu PowerShell. Bez parametrów Get-Module pobiera moduły zaimportowane do bieżącej sesji. Parametr ListAvailable służy do wyświetlania listy modułów dostępnych do zaimportowania ze ścieżek określonych w zmiennej środowiskowej PSModulePath ($env:PSModulePath).

Obiekt modułu, który Get-Module zwraca, zawiera cenne informacje o module. Można również przekazać obiekty modułu do innych poleceń cmdlet, takich jak Import-Module i polecenia cmdlet Remove-Module.

Get-Module wyświetla listę modułów, ale nie importuje ich. Począwszy od programu Windows PowerShell 3.0 moduły są importowane automatycznie podczas używania polecenia w module, ale polecenie Get-Module nie wyzwala automatycznego importowania. Moduły można również zaimportować do sesji przy użyciu polecenia cmdlet Import-Module.

Począwszy od programu Windows PowerShell 3.0, można pobrać i zaimportować moduły z sesji zdalnych do sesji lokalnej. Ta strategia używa funkcji niejawnej komunikacji zdalnej programu PowerShell i jest równoważna użyciu polecenia cmdlet Import-PSSession. Gdy używasz poleceń w modułach zaimportowanych z innej sesji, polecenia są uruchamiane niejawnie w sesji zdalnej. Ta funkcja umożliwia zarządzanie komputerem zdalnym z poziomu sesji lokalnej.

Ponadto, począwszy od programu Windows PowerShell 3.0, można użyć Get-Module i Import-Module, aby pobrać i zaimportować moduły usługi Common Information Model (CIM). Moduły ciM definiują polecenia cmdlet w plikach XML definicji polecenia cmdlet (CDXML). Ta funkcja umożliwia używanie poleceń cmdlet, które są implementowane w zestawach kodu niezarządzanego, takich jak te napisane w języku C++.

Niejawna komunikacja zdalna może służyć do zarządzania komputerami zdalnymi z włączoną obsługą komunikacji zdalnej programu PowerShell. Utwórz PSSession na komputerze zdalnym, a następnie użyj parametru PSSessionGet-Module, aby pobrać moduły programu PowerShell w sesji zdalnej. Podczas importowania modułu z sesji zdalnej zaimportowane polecenia są uruchamiane w sesji na komputerze zdalnym.

Podobną strategię można użyć do zarządzania komputerami, które nie mają włączonej komunikacji zdalnej programu PowerShell. Obejmują one komputery, na których nie działa system operacyjny Windows, oraz komputery z programem PowerShell, ale nie mają włączonej komunikacji zdalnej programu PowerShell.

Rozpocznij od utworzenia sesji modelu cim na komputerze zdalnym. Sesja modelu CIM jest połączeniem z instrumentacją zarządzania Windows (WMI) na komputerze zdalnym. Następnie użyj parametru CIMSessionGet-Module, aby pobrać moduły CIM z sesji modelu CIM. Podczas importowania modułu CIM przy użyciu polecenia cmdlet Import-Module, a następnie uruchamiania zaimportowanych poleceń, polecenia są uruchamiane niejawnie na komputerze zdalnym. Tę strategię WMI i CIM można użyć do zarządzania komputerem zdalnym.

Przykłady

Przykład 1. Pobieranie modułów zaimportowanych do bieżącej sesji

Get-Module

To polecenie pobiera moduły zaimportowane do bieżącej sesji.

Przykład 2. Pobieranie zainstalowanych modułów i dostępnych modułów

Get-Module -ListAvailable

To polecenie pobiera moduły zainstalowane na komputerze i można je zaimportować do bieżącej sesji.

Get-Module szuka dostępnych modułów w ścieżce określonej przez zmienną środowiskową $env:PSModulePath. Aby uzyskać więcej informacji na temat psModulePath, zobacz about_Modules i about_Environment_Variables.

Przykład 3. Pobieranie wszystkich wyeksportowanych plików

Get-Module -ListAvailable -All

To polecenie pobiera wszystkie wyeksportowane pliki dla wszystkich dostępnych modułów.

Przykład 4. Pobieranie modułu przy użyciu w pełni kwalifikowanej nazwy

$FullyQualifiedName = @{ModuleName="Microsoft.PowerShell.Management";ModuleVersion="3.1.0.0"}
Get-Module -FullyQualifiedName $FullyQualifiedName | Format-Table -Property Name, Version

Name                             Version
----                             -------
Microsoft.PowerShell.Management  3.1.0.0

Ten przykład pobiera moduł Microsoft.PowerShell.Management, określając w pełni kwalifikowaną nazwę modułu przy użyciu parametru FullyQualifiedName. Następnie polecenie potokuje wyniki do polecenia cmdlet Format-Table, aby sformatować wyniki jako tabelę z Name i Version jako nagłówki kolumn.

W pełni kwalifikowanej nazwy modułu wartość ModuleVersion działa jako minimalna wersja. W tym przykładzie jest zgodny z dowolnym modułem Microsoft.PowerShell.Management, który jest w wersji 3.1.0.0 lub nowszej.

Przykład 5. Pobieranie właściwości modułu

Get-Module | Get-Member -MemberType Property | Format-Table Name

Name
----
AccessMode
Author
ClrVersion
CompanyName
Copyright
Definition
Description
DotNetFrameworkVersion
ExportedAliases
ExportedCmdlets
ExportedCommands
ExportedFormatFiles
ExportedFunctions
ExportedTypeFiles
ExportedVariables
ExportedWorkflows
FileList
Guid
HelpInfoUri
LogPipelineExecutionDetails
ModuleBase
ModuleList
ModuleType
Name
NestedModules
OnRemove
Path
PowerShellHostName
PowerShellHostVersion
PowerShellVersion
PrivateData
ProcessorArchitecture
RequiredAssemblies
RequiredModules
RootModule
Scripts
SessionState
Version

To polecenie pobiera właściwości obiektu PSModuleInfo, który Get-Module zwraca. Istnieje jeden obiekt dla każdego pliku modułu.

Właściwości można użyć do formatowania i filtrowania obiektów modułu. Aby uzyskać więcej informacji o właściwościach, zobacz właściwości PSModuleInfo.

Dane wyjściowe zawierają nowe właściwości, takie jak Author i CompanyName, które zostały wprowadzone w programie Windows PowerShell 3.0.

Przykład 6. Grupowanie wszystkich modułów według nazwy

Get-Module -ListAvailable -All | Format-Table -Property Name, ModuleType, Path -GroupBy Name

Name: AppLocker

Name      ModuleType Path
----      ---------- ----
AppLocker   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AppLocker\AppLocker.psd1


   Name: Appx

Name ModuleType Path
---- ---------- ----
Appx   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\en-US\Appx.psd1
Appx   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psd1
Appx     Script C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Appx\Appx.psm1


   Name: BestPractices

Name          ModuleType Path
----          ---------- ----
BestPractices   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BestPractices\BestPractices.psd1


   Name: BitsTransfer

Name         ModuleType Path
----         ---------- ----
BitsTransfer   Manifest C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1

To polecenie pobiera wszystkie pliki modułu, zarówno zaimportowane, jak i dostępne, a następnie grupuje je według nazwy modułu. Dzięki temu można zobaczyć pliki modułów eksportowane przez każdy skrypt.

Przykład 7. Wyświetlanie zawartości manifestu modułu

Te polecenia wyświetlają zawartość manifestu modułu dla modułu programu Windows PowerShell BitsTransfer modułu.

Moduły nie muszą mieć plików manifestu. Gdy mają plik manifestu, plik manifestu jest wymagany tylko do uwzględnienia numeru wersji. Jednak pliki manifestu często zawierają przydatne informacje o module, jego wymaganiach i jego zawartości.

# First command
$m = Get-Module -List -Name BitsTransfer

# Second command
Get-Content $m.Path

@ {
    GUID               = "{8FA5064B-8479-4c5c-86EA-0D311FE48875}"
    Author             = "Microsoft Corporation"
    CompanyName        = "Microsoft Corporation"
    Copyright          = "Microsoft Corporation. All rights reserved."
    ModuleVersion      = "1.0.0.0"
    Description        = "Windows PowerShell File Transfer Module"
    PowerShellVersion  = "2.0"
    CLRVersion         = "2.0"
    NestedModules      = "Microsoft.BackgroundIntelligentTransfer.Management"
    FormatsToProcess   = "FileTransfer.Format.ps1xml"
    RequiredAssemblies = Join-Path $PSScriptRoot "Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll"
}

Pierwsze polecenie pobiera obiekt PSModuleInfo reprezentujący moduł BitsTransfer. Zapisuje obiekt w zmiennej $m.

Drugie polecenie używa polecenia cmdlet Get-Content, aby uzyskać zawartość pliku manifestu w określonej ścieżce. Używa notacji kropkowej, aby uzyskać ścieżkę do pliku manifestu, który jest przechowywany we właściwości Path obiektu. Dane wyjściowe zawierają zawartość manifestu modułu.

Przykład 8. Wyświetlanie listy plików w katalogu modułów

dir (Get-Module -ListAvailable FileTransfer).ModuleBase

Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules\FileTransfer
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----        12/16/2008  12:36 PM            en-US
-a---        11/19/2008  11:30 PM      16184 FileTransfer.Format.ps1xml
-a---        11/20/2008  11:30 PM       1044 FileTransfer.psd1
-a---        12/16/2008  12:20 AM     108544 Microsoft.BackgroundIntelligentTransfer.Management.Interop.dll

To polecenie wyświetla listę plików w katalogu modułu. Jest to inny sposób określenia, co znajduje się w module przed zaimportowaniem. Niektóre moduły mogą zawierać pliki pomocy lub pliki ReadMe opisujące moduł.

Przykład 9. Pobieranie modułów zainstalowanych na komputerze

$s = New-PSSession -ComputerName Server01

Get-Module -PSSession $s -ListAvailable

Te polecenia pobierają moduły zainstalowane na komputerze Server01.

Pierwsze polecenie używa polecenia cmdlet New-PSSession do utworzenia pssession na komputerze Server01. Polecenie zapisuje PSSession w zmiennej $s.

Drugie polecenie używa parametrów PSSession i ListAvailableGet-Module, aby pobrać moduły w pssession w zmiennej $s.

Jeśli moduły są przesyłane potokami z innych sesji do polecenia cmdlet Import-Module, Import-Module importować moduł do bieżącej sesji przy użyciu niejawnej funkcji komunikacji zdalniej. Jest to równoważne użyciu polecenia cmdlet Import-PSSession. Polecenia cmdlet z modułu można użyć w bieżącej sesji, ale polecenia korzystające z tych poleceń cmdlet faktycznie uruchamiają sesję zdalną. Aby uzyskać więcej informacji, zobacz Import-Module i Import-PSSession.

Przykład 10: Zarządzanie komputerem, który nie uruchamia systemu operacyjnego Windows

Polecenia w tym przykładzie umożliwiają zarządzanie systemami magazynowania komputera zdalnego, który nie korzysta z systemu operacyjnego Windows. W tym przykładzie, ponieważ administrator komputera zainstalował dostawcę WMI odnajdywania modułów, polecenia modelu CIM mogą używać wartości domyślnych, które są przeznaczone dla dostawcy.

$cs = New-CimSession -ComputerName RSDGF03
Get-Module -CimSession $cs -Name Storage | Import-Module
Get-Command Get-Disk

CommandType     Name                  ModuleName
-----------     ----                  ----------
Function        Get-Disk              Storage

Get-Disk

Number Friendly Name              OperationalStatus          Total Size Partition Style
------ -------------              -----------------          ---------- ---------------
0      Virtual HD ATA Device      Online                          40 GB MBR

Pierwsze polecenie używa polecenia cmdlet New-CimSession do utworzenia sesji na komputerze zdalnym RSDGF03. Sesja nawiązuje połączenie z usługą WMI na komputerze zdalnym. Polecenie zapisuje sesję modelu CIM w zmiennej $cs.

Drugie polecenie używa sesji modelu CIM w zmiennej $cs, aby uruchomić polecenie Get-Module na komputerze RSDGF03. Polecenie używa parametru Name w celu określenia modułu Storage. Polecenie używa operatora potoku (|), aby wysłać moduł Storage do polecenia cmdlet Import-Module, które importuje go do sesji lokalnej.

Trzecie polecenie uruchamia polecenie cmdlet Get-Command w Get-Disk polecenia w module Storage. Podczas importowania modułu CIM do sesji lokalnej program PowerShell konwertuje pliki CDXML reprezentujące moduł CIM na skrypty programu PowerShell, które są wyświetlane jako funkcje w sesji lokalnej.

Czwarte polecenie uruchamia polecenie Get-Disk. Mimo że polecenie jest wpisywane w sesji lokalnej, jest uruchamiane niejawnie na komputerze zdalnym, z którego został zaimportowany. Polecenie pobiera obiekty z komputera zdalnego i zwraca je do sesji lokalnej.

Parametry

-All

Wskazuje, że to polecenie cmdlet pobiera wszystkie moduły w każdym folderze modułu, w tym zagnieżdżone moduły, pliki manifestu (.psd1), pliki modułu skryptu (.psm1) oraz pliki modułu binarnego (.dll). Bez tego parametru Get-Module pobiera tylko domyślny moduł w każdym folderze modułu.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CimNamespace

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

Użyj tego parametru, aby pobrać moduły CIM z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CimResourceUri

Określa alternatywną lokalizację modułów CIM. Wartość domyślna to identyfikator URI zasobu dostawcy usługi WMI odnajdywania modułów na komputerze zdalnym.

Użyj tego parametru, aby pobrać moduły CIM z komputerów i urządzeń, które nie korzystają z systemu operacyjnego Windows.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CimSession

Określa sesję modelu ciM na komputerze zdalnym. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które pobiera sesję modelu CIM, na przykład polecenie Get-CimSession.

Get-Module używa połączenia sesji modelu CIM do pobierania modułów z komputera zdalnego. Podczas importowania modułu przy użyciu polecenia cmdlet Import-Module i używania poleceń z zaimportowanego modułu w bieżącej sesji polecenia są uruchamiane na komputerze zdalnym.

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

Parametr CimSession pobiera wszystkie moduły w CIMSession. Można jednak importować tylko moduły oparte na modelu CIM i Xml definicji poleceń cmdlet (CDXML).

Typ:CimSession
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-FullyQualifiedName

Wartość może być nazwą modułu, pełną specyfikacją modułu lub ścieżką do pliku modułu.

Gdy wartość jest ścieżką, ścieżka może być w pełni kwalifikowana lub względna. Ścieżka względna jest rozpoznawana względem skryptu zawierającego instrukcję using.

Gdy wartość jest nazwą lub specyfikacją modułu, program PowerShell przeszukuje PSModulePath dla określonego modułu.

Specyfikacja modułu to tabela skrótu zawierająca 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ć co najmniej jeden z trzech poniższych kluczy.
    • ModuleVersion — określa minimalną akceptowalną wersję modułu.
    • MaximumVersion — określa maksymalną akceptowalną wersję modułu.
    • RequiredVersion — określa dokładną, wymaganą wersję modułu. Nie można tego używać z innymi kluczami wersji.

Nie można określić parametru FullyQualifiedName w tym samym poleceniu co parametr Nazwa.

Typ:ModuleSpecification[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ListAvailable

Wskazuje, że to polecenie cmdlet pobiera wszystkie zainstalowane moduły. Get-Module pobiera moduły w ścieżkach wymienionych w zmiennej środowiskowej PSModulePath. Bez tego parametru Get-Module pobiera tylko moduły wymienione w PSModulePath zmiennej środowiskowej i ładowane w bieżącej sesji. ListAvailable nie zwraca informacji o modułach, które nie znajdują się w psModulePath zmiennej środowiskowej, nawet jeśli te moduły są ładowane w bieżącej sesji.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Name

Określa nazwy lub wzorce nazw modułów pobieranych przez to polecenie cmdlet. Dozwolone są symbole wieloznaczne. Możesz również przekazać nazwy do Get-Module. Nie można określić parametru FullyQualifiedName w tym samym poleceniu co parametr Nazwa.

Nazwa nie może zaakceptować identyfikatora GUID modułu jako wartości. Aby zwrócić moduły, określając identyfikator GUID, zamiast tego użyj FullyQualifiedName.

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-PSEdition

Pobiera moduły obsługujące określoną edycję programu PowerShell.

Dopuszczalne wartości tego parametru to:

  • Desktop
  • Core

Polecenie cmdlet Get-Module sprawdza właściwość CompatiblePSEditions właściwości psModuleInfo obiektu dla określonej wartości i zwraca tylko te moduły, które zostały ustawione.

Nuta

  • Desktop Edition: Zbudowany na platformie .NET Framework i zapewnia zgodność ze skryptami i modułami przeznaczonymi dla wersji programu PowerShell działających w pełnych wersjach systemu Windows, takich jak Server Core i Windows Desktop.
  • Core Edition: zbudowany na platformie .NET Core i zapewnia zgodność ze skryptami i modułami przeznaczonymi dla wersji programu PowerShell działających w ograniczonych wersjach systemu Windows, takich jak Nano Server i Windows IoT.
Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-PSSession

Pobiera moduły w określonej sesji programu PowerShell zarządzanej przez użytkownika (pssession). Wprowadź zmienną zawierającą sesję, polecenie, które pobiera sesję, na przykład polecenie Get-PSSession lub polecenie, które tworzy sesję, na przykład polecenie New-PSSession.

Gdy sesja jest połączona z komputerem zdalnym, należy określić parametr ListAvailable.

Polecenie Get-Module używające parametru PSSession jest równoważne użyciu polecenia cmdlet Invoke-Command do uruchomienia polecenia Get-Module -ListAvailable w PSSession.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:PSSession
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Refresh

Wskazuje, że to polecenie cmdlet odświeża pamięć podręczną zainstalowanych poleceń. Pamięć podręczna poleceń jest tworzona podczas uruchamiania sesji. Umożliwia to Get-Command polecenie cmdlet pobierania poleceń z modułów, które nie są importowane do sesji.

Ten parametr jest przeznaczony dla scenariuszy programowania i testowania, w których zawartość modułów zmieniła się od początku sesji.

Po określeniu parametru Refresh w poleceniu należy określić ListAvailable.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-SkipEditionCheck

Pomija sprawdzanie pola CompatiblePSEditions.

Domyślnie Get-Module pomija moduły w katalogu %windir%\System32\WindowsPowerShell\v1.0\Modules, który nie określa Core w polu CompatiblePSEditions. Po ustawieniu tego przełącznika moduły bez Core są uwzględniane, tak aby moduły w ścieżce modułu programu Windows PowerShell, które są niezgodne z programem PowerShell w wersji 6 lub nowszej, są zwracane.

W systemach macOS i Linux ten parametr nic nie robi.

Aby uzyskać więcej informacji, zobacz about_PowerShell_Editions.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

Nazwy modułów można przekazać potokom do tego polecenia cmdlet.

Dane wyjściowe

PSModuleInfo

To polecenie cmdlet zwraca obiekty reprezentujące moduły. Po określeniu parametru ListAvailableGet-Module zwraca obiekt ModuleInfoGrouping, który jest typem obiektu PSModuleInfo, który ma te same właściwości i metody.

Uwagi

Program PowerShell zawiera następujące aliasy dla Get-Module:

  • Wszystkie platformy:

    • gmo
  • Począwszy od programu Windows PowerShell 3.0, podstawowe polecenia zawarte w programie PowerShell są pakowane w modułach. Wyjątkiem jest Microsoft.PowerShell.Core, który jest przystawką (PSSnapin). Domyślnie do sesji jest dodawany tylko przystawka Microsoft.PowerShell.Core. Moduły są importowane automatycznie przy pierwszym użyciu i można je zaimportować za pomocą polecenia cmdlet Import-Module.

  • W programie Windows PowerShell 2.0 i programach hostujących, które tworzą starsze sesje w nowszych wersjach programu PowerShell, podstawowe polecenia są pakowane w przystawkach (PSSnapins). Wyjątkiem jest Microsoft.PowerShell.Core, który jest zawsze przystawką. Ponadto sesje zdalne, takie jak te uruchamiane przez polecenie cmdlet New-PSSession, to sesje w stylu starszym, które obejmują podstawowe przystawki.

    Aby uzyskać informacje na temat metody CreateDefault2, która tworzy nowsze sesje z modułami podstawowymi, zobacz Metoda CreateDefault2.

  • Get-Module pobiera tylko moduły w lokalizacjach przechowywanych w wartości zmiennej środowiskowej PSModulePath ($env:PSModulePath). Polecenie cmdlet Import-Module może importować moduły w innych lokalizacjach, ale nie można użyć polecenia cmdlet Get-Module, aby je pobrać.

  • Ponadto, począwszy od programu PowerShell 3.0, nowe właściwości zostały dodane do obiektu, który Get-Module zwraca, co ułatwia poznawanie modułów jeszcze przed ich zaimportowaniem. Wszystkie właściwości są wypełniane przed zaimportowaniem. Należą do nich ExportCommands, ExportCmdlets i ExportFunctions właściwości, które wyświetlają polecenia eksportowane przez moduł.

  • Parametr ListAvailable pobiera tylko poprawnie sformułowane moduły, czyli foldery zawierające co najmniej jeden plik, którego nazwa podstawowa jest taka sama jak nazwa folderu modułu. Nazwa podstawowa to nazwa bez rozszerzenia nazwy pliku. Foldery zawierające pliki o różnych nazwach są uważane za kontenery, ale nie moduły.

    Aby pobrać moduły implementowane jako pliki DLL, ale nie są ujęte w folderze modułu, określ parametry ListAvailable i Wszystkie.

  • Aby korzystać z funkcji sesji modelu CIM, 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ę usługi WMI, który ma te same podstawowe funkcje.

    Możesz użyć funkcji sesji modelu ciM na komputerach, na których nie jest uruchomiony system operacyjny Windows i na komputerach z systemem Windows z programem PowerShell, ale nie mają włączonej komunikacji zdalnej programu PowerShell.

    Możesz również użyć parametrów modelu CIM, aby pobrać moduły CIM z komputerów z włączoną obsługą komunikacji zdalnej programu PowerShell. Obejmuje to komputer lokalny. Podczas tworzenia sesji modelu CIM na komputerze lokalnym program PowerShell używa modelu DCOM zamiast usługi WMI do utworzenia sesji.