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
Nazwy modułów można przekazać potokom do tego polecenia cmdlet.
Dane wyjściowe
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 cmdletImport-Module
może importować moduły w innych lokalizacjach, ale nie można użyć polecenia cmdletGet-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.