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>]
   [-Refresh]
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-PSEdition <String>]
   [-Refresh]
   -PSSession <PSSession>
   [<CommonParameters>]
Get-Module
   [[-Name] <String[]>]
   [-FullyQualifiedName <ModuleSpecification[]>]
   [-ListAvailable]
   [-Refresh]
   -CimSession <CimSession>
   [-CimResourceUri <Uri>]
   [-CimNamespace <String>]
   [<CommonParameters>]

Opis

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

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

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

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 Import-PSSession użyciu polecenia cmdlet . 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ć modułów Get-Module Common Information Model (CIM) i Import-Module pobrać je. 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 program PSSession na komputerze zdalnym, a następnie użyj parametru PSSession programu Get-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 CIMSession polecenia , Get-Module aby pobrać moduły CIM z sesji modelu CIM. Po zaimportowaniu modułu CIM przy użyciu polecenia cmdlet , a następnie uruchomieniu Import-Module 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 programu 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 Format-Table polecenia cmdlet, aby sformatować wyniki jako tabelę z nagłówkami kolumn Name (Nazwa ) i Version (Wersja ).

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 lub nowszej 3.1.0.0 .

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 na temat właściwości, 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 Windows PowerShell BitsTransfer .

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 Get-Content polecenia cmdlet do pobrania zawartości 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 New-PSSession polecenia cmdlet do utworzenia psSession na komputerze Server01. Polecenie zapisuje plik PSSession w zmiennej $s .

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

W przypadku potoku modułów z innych sesji do Import-Module polecenia cmdlet Import-Module zaimportuj moduł do bieżącej sesji przy użyciu niejawnej funkcji komunikacji zdalniej. Jest to równoważne użyciu Import-PSSession polecenia cmdlet . 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 tematy Import-Module oraz 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 New-CimSession polecenia cmdlet do utworzenia sesji na RSDGF03 komputerze zdalnym. 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 do uruchamiania Get-Module polecenia na komputerze RSDGF03. Polecenie używa parametru Name do określenia modułu Storage. Polecenie używa operatora potoku (|), aby wysłać moduł Storage do Import-Module polecenia cmdlet, które importuje go do sesji lokalnej.

Trzecie polecenie uruchamia Get-Command polecenie cmdlet w poleceniu Get-Disk 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 Get-Disk polecenie . 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) i 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 Import-Module przy użyciu polecenia cmdlet 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 element PSModulePath dla określonego modułu.

Specyfikacja modułu to tabela skrótu zawierająca następujące klucze.

  • ModuleName - Required Określa nazwę modułu.
  • GUID - Opcjonalnie Określa identyfikator GUID modułu.
  • Wymagane jest również określenie co najmniej jednego z trzech poniższych kluczy.
    • ModuleVersion - Określa minimalną akceptowalną wersję modułu.
    • MaximumVersion - Określa maksymalną akceptowalną wersję modułu.
    • RequiredVersion - Określa dokładną, wymaganą wersję modułu. Nie można tego używać z innymi kluczami wersji.

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

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 pobiera tylko moduły, Get-Module które są wymienione w zmiennej środowiskowej PSModulePath i które są ładowane w bieżącej sesji. ListAvailable nie zwraca informacji o modułach, które nie zostały znalezione w zmiennej środowiskowej PSModulePath , 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 potokowi do Get-Module. Nie można określić parametru FullyQualifiedName w tym samym poleceniu co parametr Name .

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 metody 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 Get-Module cmdlet sprawdza właściwość CompatiblePSEditions obiektu PSModuleInfo dla określonej wartości i zwraca tylko te moduły, które mają ustawione.

Uwaga

  • Wersja Desktop: jest oparta na programie .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 instalacja Podstawowe funkcje serwera i system Windows dla komputerów stacjonarnych.
  • Wersja Core: jest oparta na module .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 system 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ę, takie jak Get-PSSession polecenie, lub polecenie, które tworzy sesję, na przykład New-PSSession polecenie.

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 Invoke-Command polecenia cmdlet do uruchomienia Get-Module -ListAvailable polecenia w programie 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 polecenie cmdlet uzyskiwanie Get-Command 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ć wartość 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

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 Get-Module ListAvailable zwraca obiekt ModuleInfoGrouping, który jest typem obiektu PSModuleInfo, który ma te same właściwości i metody.

Uwagi

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

  • 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 dodawana tylko przystawka Microsoft.PowerShell.Core . Moduły są importowane automatycznie przy pierwszym użyciu i można je zaimportować za pomocą Import-Module polecenia cmdlet .

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

    Aby uzyskać informacje o metodzie CreateDefault2 , która tworzy nowsze sesje z modułami podstawowymi, zobacz CreateDefault2 Method (Metoda CreateDefault2).

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

  • 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 właściwości ExportCommands, ExportCmdlets i ExportFunctions , które zawierają listę poleceń eksportowanych 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 All .

  • Aby korzystać z funkcji sesji modelu CIM, komputer zdalny musi mieć zdalną funkcję komunikacji zdalnej w usłudze WS-Management i instrumentację zarządzania Windows (WMI), która jest implementacją firmy Microsoft standardu Common Information Model (CIM). Komputer musi również mieć dostawcę usługi WMI odnajdywania modułów lub alternatywnego dostawcę 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.