Get-Module
Uveďte moduly importované v aktuální relaci nebo které lze importovat z psModulePath.
Syntaxe
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>]
Description
Rutina Get-Module
uvádí moduly PowerShellu, které byly importovány nebo které je možné importovat do relace PowerShellu. Bez parametrů získá moduly, Get-Module
které byly importovány do aktuální relace. Parametr ListAvailable slouží k výpisu modulů, které jsou k dispozici pro import z cest zadaných v proměnné prostředí PSModulePath ($env:PSModulePath
).
Objekt modulu, který Get-Module
vrací, obsahuje cenné informace o modulu. Objekty modulu můžete také převést na jiné rutiny, jako jsou rutiny Import-Module
a Remove-Module
rutiny.
Get-Module
vypíše moduly, ale neimportuje je. Počínaje windows PowerShellem 3.0 se moduly automaticky importují při použití příkazu v modulu, ale Get-Module
příkaz neaktivuje automatický import. Moduly můžete také importovat do relace pomocí rutiny Import-Module
.
Počínaje Windows PowerShellem 3.0 můžete získat a potom importovat moduly ze vzdálených relací do místní relace. Tato strategie používá funkci Implicitní komunikace PowerShellu a je ekvivalentní použití rutiny Import-PSSession
. Při použití příkazů v modulech importovaných z jiné relace se příkazy spouští implicitně ve vzdálené relaci. Tato funkce umožňuje spravovat vzdálený počítač z místní relace.
Počínaje windows PowerShellem 3.0 můžete také získat Get-Module
a Import-Module
importovat moduly MODELU CIM (Common Information Model). Moduly CIM definují rutiny v souborech CDXML (Cmdlet Definition XML). Tato funkce umožňuje používat rutiny implementované v nespravovaných sestaveních kódu, jako jsou například rutiny napsané v jazyce C++.
Implicitní vzdálená komunikace se dá použít ke správě vzdálených počítačů, které mají povolenou vzdálenou vzdálenou komunikace PowerShellu.
Na vzdáleném počítači vytvořte psSession a pak pomocí parametru Get-Module
PSSession získejte moduly PowerShellu ve vzdálené relaci. Při importu modulu ze vzdálené relace se importované příkazy spustí v relaci na vzdáleném počítači.
Podobnou strategii můžete použít ke správě počítačů, které nemají povolenou vzdálené komunikace PowerShellu. Patří sem počítače, které nepoužívají operační systém Windows, a počítače, které mají PowerShell, ale nemají povolenou vzdálené komunikace PowerShellu.
Začněte vytvořením relace CIM na vzdáleném počítači. Relace CIM je připojení ke službě Windows Management Instrumentation (WMI) ve vzdáleném počítači. Pak pomocí parametru Get-Module
CIMSession získejte moduly CIM z relace CIM. Při importu modulu CIM pomocí Import-Module
rutiny a následném spuštění importovaných příkazů se příkazy spouští implicitně na vzdáleném počítači. Tuto strategii rozhraní WMI a CIM můžete použít ke správě vzdáleného počítače.
Příklady
Příklad 1: Načtení modulů importovaných do aktuální relace
Get-Module
Tento příkaz získá moduly, které byly importovány do aktuální relace.
Příklad 2: Získání nainstalovaných modulů a dostupných modulů
Get-Module -ListAvailable
Tento příkaz získá moduly nainstalované v počítači a lze je importovat do aktuální relace.
Get-Module
vyhledá dostupné moduly v cestě určené proměnnou prostředí $env:PSModulePath . Další informace o psModulePath naleznete v tématu about_Modules a about_Environment_Variables.
Příklad 3: Získání všech exportovaných souborů
Get-Module -ListAvailable -All
Tento příkaz získá všechny exportované soubory pro všechny dostupné moduly.
Příklad 4: Získání modulu podle jeho plně kvalifikovaného názvu
$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
Tento příklad získá modul Microsoft.PowerShell.Management zadáním plně kvalifikovaného názvu modulu pomocí parametru FullyQualifiedName . Příkaz pak výsledky do rutiny Format-Table
naformátuje jako tabulku s názvem a verzí jako záhlavími sloupců.
V plně kvalifikovaném názvu modulu funguje hodnota ModuleVersion jako minimální verze. V tomto příkladu se tedy shoduje s modulem Microsoft.PowerShell.Management , který je verze 3.1.0.0
nebo vyšší.
Příklad 5: Získání vlastností modulu
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
Tento příkaz získá vlastnosti PSModuleInfo objektu, který Get-Module
vrátí. Pro každý soubor modulu je jeden objekt.
Vlastnosti můžete použít k formátování a filtrování objektů modulu. Další informace o vlastnostech naleznete v tématu PSModuleInfo Vlastnosti.
Výstup obsahuje nové vlastnosti, například Author a CompanyName, které byly zavedeny ve Windows PowerShellu 3.0.
Příklad 6: Seskupení všech modulů podle názvu
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
Tento příkaz získá všechny soubory modulů, importované i dostupné a pak je seskupí podle názvu modulu. Díky tomu uvidíte soubory modulů, které každý skript exportuje.
Příklad 7: Zobrazení obsahu manifestu modulu
Tyto příkazy zobrazují obsah manifestu modulu pro modul Windows PowerShell BitsTransfer .
Moduly nemusí obsahovat soubory manifestu. Pokud mají soubor manifestu, soubor manifestu se vyžaduje jenom k zahrnutí čísla verze. Soubory manifestu ale často poskytují užitečné informace o modulu, jeho požadavcích a jeho obsahu.
# 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"
}
První příkaz získá PSModuleInfo objekt, který představuje BitsTransfer modul. Uloží objekt do $m
proměnné.
Druhý příkaz pomocí rutiny Get-Content
získá obsah souboru manifestu v zadané cestě. Používá tečku k získání cesty k souboru manifestu, který je uložen ve vlastnosti Path objektu. Výstup zobrazuje obsah manifestu modulu.
Příklad 8: Výpis souborů v adresáři modulu
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
Tento příkaz zobrazí seznam souborů v adresáři modulu. Toto je další způsob, jak určit, co je v modulu před importem. Některé moduly můžou obsahovat soubory nápovědy nebo soubory ReadMe, které tento modul popisují.
Příklad 9: Získání modulů nainstalovaných v počítači
$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable
Tyto příkazy získají moduly nainstalované na počítači Server01.
První příkaz použije rutinu New-PSSession
k vytvoření psSession na počítači Server01. Příkaz uloží psSession do $s
proměnné.
Druhý příkaz používá parametry Get-Module
PSSession a ListAvailable pro získání modulů v PSSession v $s
proměnné.
Pokud moduly předáte z jiných relací do Import-Module
rutiny, Import-Module
importuje modul do aktuální relace pomocí funkce implicitní vzdálené komunikace. To je ekvivalentem použití rutiny Import-PSSession
. Rutiny z modulu můžete použít v aktuální relaci, ale příkazy, které tyto rutiny používají, skutečně spouští vzdálenou relaci. Další informace najdete v tématech Import-Module
a Import-PSSession
.
Příklad 10: Správa počítače, který nespouští operační systém Windows
Příkazy v tomto příkladu umožňují spravovat systémy úložiště vzdáleného počítače, na kterém není spuštěn operační systém Windows. V tomto příkladu, protože správce počítače nainstaloval zprostředkovatele rozhraní WMI zjišťování modulů, mohou příkazy CIM používat výchozí hodnoty, které jsou určené pro zprostředkovatele.
$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
První příkaz pomocí rutiny New-CimSession
vytvoří relaci ve vzdáleném počítači RSDGF03. Relace se připojí ke službě WMI ve vzdáleném počítači. Příkaz uloží relaci CIM do $cs
proměnné.
Druhý příkaz používá relaci CIM v $cs
proměnné ke spuštění Get-Module
příkazu na RSDGF03 počítači. Příkaz k zadání modulu Storage používá parametr Name . Příkaz pomocí operátoru kanálu (|
) odešle modul Storage do Import-Module
rutiny, která ho naimportuje do místní relace.
Třetí příkaz spustí rutinu Get-Command
na Get-Disk
příkazu v modulu Storage.
Když importujete modul CIM do místní relace, PowerShell převede soubory CDXML, které představují modul CIM, na skripty PowerShellu, které se zobrazí jako funkce v místní relaci.
Čtvrtý příkaz spustí Get-Disk
příkaz. Přestože je příkaz zadán v místní relaci, spouští se implicitně na vzdáleném počítači, ze kterého byl importován. Příkaz získá objekty ze vzdáleného počítače a vrátí je do místní relace.
Parametry
-All
Označuje, že tato rutina získá všechny moduly v každé složce modulu, včetně vnořených modulů, souborů manifestu (.psd1
) souborů, souborů modulu skriptů (.psm1
) a souborů binárního modulu (.dll
). Bez tohoto parametru Get-Module
získá pouze výchozí modul v každé složce modulu.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CimNamespace
Určuje obor názvů alternativního poskytovatele CIM, který zveřejňuje moduly CIM. Výchozí hodnota je obor názvů zprostředkovatele rozhraní WMI zjišťování modulů.
Tento parametr použijte k získání modulů CIM z počítačů a zařízení, která nepoužívají operační systém Windows.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CimResourceUri
Určuje alternativní umístění pro moduly CIM. Výchozí hodnota je identifikátor URI prostředku zprostředkovatele rozhraní WMI zjišťování modulu ve vzdáleném počítači.
Tento parametr použijte k získání modulů CIM z počítačů a zařízení, která nepoužívají operační systém Windows.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | Uri |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-CimSession
Určuje relaci CIM na vzdáleném počítači. Zadejte proměnnou obsahující relaci CIM nebo příkaz, který získá relaci CIM, například příkaz Get-CimSession .
Get-Module
používá připojení relace CIM k získání modulů ze vzdáleného počítače. Když modul naimportujete pomocí rutiny Import-Module
a použijete příkazy z importovaného modulu v aktuální relaci, příkazy skutečně běží na vzdáleném počítači.
Tento parametr můžete použít k získání modulů z počítačů a zařízení, na kterých není spuštěn operační systém Windows, a počítačů, které mají PowerShell, ale nemají povolenou vzdálené komunikace PowerShellu.
Parametr CimSession získá všechny moduly v CIMSession. Můžete ale importovat pouze moduly založené na MODELU CIM a XML definice rutiny (CDXML).
Typ: | CimSession |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-FullyQualifiedName
Hodnota může být název modulu, úplná specifikace modulu nebo cesta k souboru modulu.
Pokud je hodnota cesta, může být cesta plně kvalifikovaná nebo relativní. Relativní cesta je vyřešena vzhledem ke skriptu, který obsahuje příkaz using.
Pokud je hodnota název nebo specifikace modulu, PowerShell vyhledá zadaný modul v psModulePath .
Specifikace modulu je hashovatelná tabulka s následujícími klíči.
ModuleName
- Povinný argument Určuje název modulu.GUID
- Volitelné určuje identifikátor GUID modulu.- Je také povinné zadat aspoň jeden ze tří následujících klíčů.
ModuleVersion
– Určuje minimální přijatelnou verzi modulu.MaximumVersion
– Určuje maximální přijatelnou verzi modulu.RequiredVersion
– Určuje přesnou požadovanou verzi modulu. Tuto možnost nelze použít s jinými klíči verze.
Parametr FullyQualifiedName nelze zadat ve stejném příkazu jako parametr Name.
Typ: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-ListAvailable
Označuje, že tato rutina získá všechny nainstalované moduly. Get-Module
získá moduly v cestách uvedených v proměnné prostředí PSModulePath . Bez tohoto parametru získá pouze moduly, Get-Module
které jsou uvedeny v proměnné prostředí PSModulePath a které jsou načteny v aktuální relaci. ListAvailable nevrací informace o modulech, které nejsou nalezeny v proměnné prostředí PSModulePath , i když jsou tyto moduly načteny v aktuální relaci.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Name
Určuje názvy nebo vzory názvů modulů, které tato rutina získá. Jsou povoleny zástupné znaky. Názvy můžete také převést na Get-Module
. Parametr FullyQualifiedName nelze zadat ve stejném příkazu jako parametr Name.
Název nemůže přijmout identifikátor GUID modulu jako hodnotu. Chcete-li vrátit moduly zadáním identifikátoru GUID, použijte místo toho plně kvalifikovaný název.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | True |
-PSEdition
Získá moduly, které podporují zadanou edici PowerShellu.
Tento parametr přijímá tyto hodnoty:
Desktop
Core
Rutina Get-Module
zkontroluje vlastnost CompatiblePSEditions objektu PSModuleInfo pro zadanou hodnotu a vrátí pouze moduly, které mají nastavenou.
Poznámka:
- Desktop Edition: Tato edice je založená na rozhraní .NET Framework a zajišťuje kompatibilitu se skripty a moduly cílenými na verze PowerShellu spouštěné na plných edicích Windows, jako je Jádro serveru a Windows Desktop.
- Core Edition: Tato edice je založená na rozhraní .NET Core a zajišťuje kompatibilitu se skripty a moduly cílenými na verze PowerShellu spouštěné na edicích Windows s nízkými nároky na prostředky, jako je Nano Server a Windows IoT.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-PSSession
Získá moduly v zadané uživatelsky spravované relaci PowerShellu (PSSession). Zadejte proměnnou, která obsahuje relaci, příkaz, který získá relaci, například Get-PSSession
příkaz, nebo příkaz, který relaci vytvoří, například New-PSSession
příkaz.
Pokud je relace připojená ke vzdálenému počítači, je nutné zadat parametr ListAvailable .
Příkaz Get-Module
, který používá parametr PSSession , je ekvivalentní použití Invoke-Command
rutiny ke spuštění Get-Module -ListAvailable
příkazu v PSSession.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | PSSession |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Refresh
Označuje, že tato rutina aktualizuje mezipaměť nainstalovaných příkazů. Mezipaměť příkazů se vytvoří při spuštění relace. Umožňuje rutině Get-Command
získat příkazy z modulů, které nejsou importovány do relace.
Tento parametr je určený pro scénáře vývoje a testování, ve kterých se od spuštění relace změnil obsah modulů.
Když v příkazu zadáte parametr Refresh , musíte zadat ListAvailable.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SkipEditionCheck
Přeskočí kontrolu pole CompatiblePSEditions .
Ve výchozím nastavení vynechá moduly v adresáři, Get-Module
které nejsou zadány Core
v poli CompatiblePSEditions.%windir%\System32\WindowsPowerShell\v1.0\Modules
Pokud je tento přepínač nastavený, moduly bez Core
zahrnutí, aby se vrátily moduly v cestě modulu Windows PowerShellu, které nejsou kompatibilní s PowerShellem v6 a novějším.
V systému macOS a Linux tento parametr nedělá nic.
Další informace najdete v about_PowerShell_Editions .
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Do této rutiny můžete převést názvy modulů.
Výstupy
Tato rutina vrací objekty, které představují moduly. Když zadáte Parametr ListAvailable , Get-Module
vrátí ModuleInfoGrouping objekt, což je typ PSModuleInfo objektu, který má stejné vlastnosti a metody.
Poznámky
PowerShell obsahuje následující aliasy pro Get-Module
:
Všechny platformy:
gmo
Počínaje Windows PowerShellem 3.0 se základní příkazy, které jsou součástí PowerShellu, zabalí do modulů. Výjimkou je Microsoft.PowerShell.Core, což je modul snap-in (PSSnapin). Ve výchozím nastavení se do relace přidá jenom modul snap-in Microsoft.PowerShell.Core . Moduly se při prvním použití naimportují automaticky a pomocí rutiny
Import-Module
je můžete importovat.V prostředí Windows PowerShell 2.0 a v hostitelských programech, které vytvářejí relace staršího stylu v novějších verzích PowerShellu, se základní příkazy zabalí do modulů snap-in (PSSnapins). Výjimkou je Microsoft.PowerShell.Core, což je vždy modul snap-in. Vzdálené relace, například relace spuštěné rutinou
New-PSSession
, jsou také relace ve starším stylu, které zahrnují základní moduly snap-in.Informace o metodě CreateDefault2 , která vytváří novější relace se základními moduly, naleznete v tématu CreateDefault2 – metoda.
Get-Module
Získá pouze moduly v umístěních, která jsou uložena v hodnotě proměnné prostředí PSModulePath ($env:PSModulePath
). RutinaImport-Module
může importovat moduly do jiných umístění, ale rutinuGet-Module
nemůžete použít k jejich získání.Počínaje PowerShellem 3.0 byly také přidány nové vlastnosti do objektu, který
Get-Module
vrací, což usnadňuje získání informací o modulech i před jejich importem. Před importem se vyplní všechny vlastnosti. Patří mezi ně vlastnosti ExportedCommands, ExportedCmdlets a ExportedFunctions , které uvádějí příkazy, které modul exportuje.Parametr ListAvailable získá pouze dobře vytvořené moduly, tj. složky, které obsahují alespoň jeden soubor, jehož základní název je stejný jako název složky modulu. Základní název je název bez přípony názvu souboru. Složky, které obsahují soubory s různými názvy, se považují za kontejnery, ale ne moduly.
Pokud chcete získat moduly implementované jako soubory DLL, ale nejsou uzavřeny do složky modulu, zadejte parametry ListAvailable i All .
Aby bylo možné používat funkci relace CIM, musí mít vzdálený počítač vzdálenou vzdálenou správu WS-Management a rozhraní WMI (Windows Management Instrumentation), což je implementace modelu CIM (Common Information Model). Počítač musí mít také zprostředkovatele rozhraní WMI zjišťování modulů nebo alternativního zprostředkovatele rozhraní WMI, který má stejné základní funkce.
Funkci relace CIM můžete použít na počítačích, na kterých není spuštěn operační systém Windows a na počítačích s Windows, které mají PowerShell, ale nemají povolenou vzdálené komunikace PowerShellu.
Parametry CIM můžete také použít k získání modulů CIM z počítačů s povolenou vzdálené komunikace PowerShellu. To zahrnuje místní počítač. Při vytváření relace CIM na místním počítači používá PowerShell k vytvoření relace DCOM místo rozhraní WMI.