Import-PSSession
Importuje polecenia z innej sesji do bieżącej sesji.
Składnia
Import-PSSession
[-Prefix <String>]
[-DisableNameChecking]
[[-CommandName] <String[]>]
[-AllowClobber]
[-ArgumentList <Object[]>]
[-CommandType <CommandTypes>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-FormatTypeName] <String[]>]
[-Certificate <X509Certificate2>]
[-Session] <PSSession>
[<CommonParameters>]
Opis
Polecenie Import-PSSession
cmdlet importuje polecenia , takie jak polecenia cmdlet, funkcje i aliasy, z serwera PSSession na komputerze lokalnym lub zdalnym do bieżącej sesji. Możesz zaimportować dowolne polecenie, które Get-Command
polecenie cmdlet można znaleźć w programie PSSession.
Import-PSSession
Użyj polecenia , aby zaimportować polecenia z niestandardowej powłoki, takiej jak powłoka Microsoft Exchange Server, lub sesji zawierającej moduły Windows PowerShell i przystawki lub inne elementy, które nie znajdują się w bieżącej sesji.
Aby zaimportować polecenia, najpierw użyj New-PSSession
polecenia cmdlet , aby utworzyć serwer PSSession. Następnie za pomocą Import-PSSession
polecenia cmdlet zaimportuj polecenia . Domyślnie Import-PSSession
importuje wszystkie polecenia z wyjątkiem poleceń, które mają takie same nazwy jak polecenia w bieżącej sesji. Aby zaimportować wszystkie polecenia, użyj parametru AllowClobber .
W sesji można użyć importowanych poleceń tak samo jak w przypadku dowolnego polecenia. W przypadku użycia zaimportowanego polecenia zaimportowana część polecenia jest uruchamiana niejawnie w sesji, z której została zaimportowana. Jednak operacje zdalne są obsługiwane całkowicie przez Windows PowerShell. Nie musisz nawet pamiętać o nich, z tą różnicą, że należy zachować połączenie z inną sesją (PSSession). Jeśli zamkniesz je, zaimportowane polecenia nie będą już dostępne.
Ponieważ zaimportowane polecenia mogą trwać dłużej niż polecenia lokalne, Import-PSSession
dodaje parametr AsJob do każdego zaimportowanego polecenia. Ten parametr umożliwia uruchomienie polecenia jako Windows PowerShell zadania w tle. Aby uzyskać więcej informacji, zobacz opis polecenia about_Jobs.
W przypadku używania programu Import-PSSession
Windows PowerShell dodaje zaimportowane polecenia do modułu tymczasowego, który istnieje tylko w sesji i zwraca obiekt reprezentujący moduł. Aby utworzyć trwały moduł, którego można użyć w przyszłych sesjach, użyj Export-PSSession
polecenia cmdlet .
Polecenie Import-PSSession
cmdlet używa niejawnej funkcji komunikacji bezpośredniej Windows PowerShell. Podczas importowania poleceń do bieżącej sesji są uruchamiane niejawnie w oryginalnej sesji lub w podobnej sesji na komputerze źródłowym.
Począwszy od Windows PowerShell 3.0, możesz użyć Import-Module
polecenia cmdlet , aby zaimportować moduły z sesji zdalnej do bieżącej sesji. Ta funkcja używa niejawnej komunikacji bezpośredniej. Jest to równoważne użyciu Import-PSSession
do importowania wybranych modułów z sesji zdalnej do bieżącej sesji.
Przykłady
Przykład 1. Importowanie wszystkich poleceń z programu PSSession
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S
To polecenie importuje wszystkie polecenia z serwera PSSession na komputerze Server01 do bieżącej sesji, z wyjątkiem poleceń, które mają takie same nazwy jak polecenia w bieżącej sesji.
Ponieważ to polecenie nie używa parametru CommandName , importuje również wszystkie dane formatowania wymagane dla zaimportowanych poleceń.
Przykład 2. Importowanie poleceń kończących się określonym ciągiem
$S = New-PSSession https://ps.testlabs.com/powershell
Import-PSSession -Session $S -CommandName *-test -FormatTypeName *
New-Test -Name Test1
Get-Test test1 | Run-Test
Te polecenia importują polecenia z nazwami, które kończą się ciągiem "-test" z sesji lokalnej, a następnie pokazują, jak używać zaimportowanego polecenia cmdlet.
Pierwsze polecenie używa New-PSSession
polecenia cmdlet do utworzenia programu PSSession. Zapisuje plik PSSession w zmiennej $S
.
Drugie polecenie używa Import-PSSession
polecenia cmdlet do importowania poleceń z programu PSSession w $S
bieżącej sesji. Używa parametru CommandName do określania poleceń za pomocą rzeczownika Test i parametru FormatTypeName w celu zaimportowania danych formatowania dla poleceń Test.
Trzecie i czwarte polecenia używają zaimportowanych poleceń w bieżącej sesji. Ponieważ zaimportowane polecenia są rzeczywiście dodawane do bieżącej sesji, należy użyć składni lokalnej, aby je uruchomić. Nie trzeba używać Invoke-Command
polecenia cmdlet do uruchamiania zaimportowanego polecenia.
Przykład 3. Importowanie poleceń cmdlet z programu PSSession
$S1 = New-PSSession -ComputerName s1
$S2 = New-PSSession -ComputerName s2
Import-PSSession -Session s1 -Type cmdlet -Name New-Test, Get-Test -FormatTypeName *
Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
New-Test Test1 | Set-Test -RunType Full
W tym przykładzie pokazano, że można użyć zaimportowanych poleceń cmdlet tak samo, jak w przypadku poleceń cmdlet lokalnych.
Te polecenia importuje New-Test
polecenia cmdlet i Get-Test
z serwera PSSession na komputerze Server01 i Set-Test
polecenie cmdlet z programu PSSession na komputerze Server02.
Mimo że polecenia cmdlet zostały zaimportowane z różnych serwerów PSSessions, można potokować obiekt z jednego polecenia cmdlet do innego bez błędu.
Przykład 4. Uruchamianie zaimportowanego polecenia jako zadania w tle
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S -CommandName *-test* -FormatTypeName *
$batch = New-Test -Name Batch -AsJob
Receive-Job $batch
W tym przykładzie pokazano, jak uruchomić zaimportowane polecenie jako zadanie w tle.
Ponieważ zaimportowane polecenia mogą trwać dłużej niż polecenia lokalne, Import-PSSession
dodaje parametr AsJob do każdego zaimportowanego polecenia. Parametr AsJob umożliwia uruchomienie polecenia jako zadania w tle.
Pierwsze polecenie tworzy serwer PSSession na komputerze Server01 i zapisuje obiekt PSSession w zmiennej $S
.
Drugie polecenie używa Import-PSSession
polecenia do importowania poleceń cmdlet Test z programu PSSession w $S
bieżącej sesji.
Trzecie polecenie używa parametru AsJob zaimportowanego New-Test
polecenia cmdlet, aby uruchomić New-Test
polecenie jako zadanie w tle. Polecenie zapisuje obiekt zadania zwracany New-Test
w zmiennej $batch
.
Czwarte polecenie używa Receive-Job
polecenia cmdlet, aby uzyskać wyniki zadania w zmiennej $batch
.
Przykład 5. Importowanie poleceń cmdlet i funkcji z modułu Windows PowerShell
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S {Import-Module TestManagement}
Import-PSSession -Session $S -Module TestManagement
W tym przykładzie pokazano, jak zaimportować polecenia cmdlet i funkcje z modułu Windows PowerShell na komputerze zdalnym do bieżącej sesji.
Pierwsze polecenie tworzy serwer PSSession na komputerze Server01 i zapisuje je w zmiennej $S
.
Drugie polecenie używa Invoke-Command
polecenia cmdlet do uruchomienia Import-Module
polecenia w programie PSSession w pliku $S
.
Zazwyczaj moduł zostanie dodany do wszystkich sesji za pomocą Import-Module
polecenia w profilu Windows PowerShell, ale profile nie są uruchamiane w usługach PSSessions.
Trzecie polecenie używa parametru Module polecenia Import-PSSession
, aby zaimportować polecenia cmdlet i funkcje w module do bieżącej sesji.
Przykład 6: Twórca modułu w pliku tymczasowym
PS C:\> Import-PSSession $S -CommandName Get-Date, SearchHelp -FormatTypeName * -AllowClobber
Name : tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
Path : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1
zunz.ttf\tmp_79468106-4e1d-4d90-af97-1154f9317239_
tcw1zunz.ttf.psm1
Description : Implicit remoting for http://server01.corp.fabrikam.com/wsman
Guid : 79468106-4e1d-4d90-af97-1154f9317239
Version : 1.0
ModuleBase : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1
zunz.ttf
ModuleType : Script
PrivateData : {ImplicitRemoting}
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]}
ExportedVariables : {}
NestedModules : {}
W tym przykładzie pokazano, że Import-PSSession
moduł jest tworzony w pliku tymczasowym na dysku. Pokazuje również, że wszystkie polecenia są konwertowane na funkcje przed ich zaimportowanie do bieżącej sesji.
Polecenie używa Import-PSSession
polecenia cmdlet do zaimportowania Get-Date
polecenia cmdlet i funkcji SearchHelp do bieżącej sesji.
Polecenie Import-PSSession
cmdlet zwraca obiekt PSModuleInfo reprezentujący moduł tymczasowy. Wartość właściwości Path pokazuje, że Import-PSSession
utworzono plik modułu skryptu (psm1) w lokalizacji tymczasowej. Właściwość ExportedFunctions pokazuje, że Get-Date
polecenie cmdlet i funkcja SearchHelp zostały zaimportowane jako funkcje.
Przykład 7. Uruchamianie polecenia ukrytego przez zaimportowane polecenie
PS C:\> Import-PSSession $S -CommandName Get-Date -FormatTypeName * -AllowClobber
PS C:\> Get-Command Get-Date -All
CommandType Name Definition
----------- ---- ----------
Function Get-Date ...
Cmdlet Get-Date Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]
PS C:\> Get-Date
09074
PS C:\> (Get-Command -Type Cmdlet -Name Get-Date).PSSnapin.Name
Microsoft.PowerShell.Utility
PS C:\> Microsoft.PowerShell.Utility\Get-Date
Sunday, March 15, 2009 2:08:26 PM
W tym przykładzie pokazano, jak uruchomić polecenie ukryte przez zaimportowane polecenie.
Pierwsze polecenie importuje Get-Date
polecenie cmdlet ze zmiennej $S
PSSession. Ponieważ bieżąca sesja zawiera Get-Date
polecenie cmdlet, parametr AllowClobber jest wymagany w poleceniu .
Drugie polecenie używa parametru Get-Command
All polecenia cmdlet, aby pobrać wszystkie Get-Date
polecenia w bieżącej sesji. Dane wyjściowe pokazują, że sesja zawiera oryginalne Get-Date
polecenie cmdlet i Get-Date
funkcję. Funkcja Get-Date
uruchamia zaimportowane Get-Date
polecenie cmdlet w programie PSSession w systemie $S
.
Trzecie polecenie uruchamia Get-Date
polecenie. Ponieważ funkcje mają pierwszeństwo przed poleceniami cmdlet, Windows PowerShell uruchamia zaimportowaną Get-Date
funkcję, która zwraca datę Juliana.
W czwartych i piątych poleceniach pokazano, jak użyć kwalifikowanej nazwy do uruchomienia polecenia ukrytego przez zaimportowane polecenie.
Czwarte polecenie pobiera nazwę przystawki Windows PowerShell, która dodała oryginalne Get-Date
polecenie cmdlet do bieżącej sesji.
Piąte polecenie używa kwalifikowanej nazwy Get-Date
przystawki polecenia cmdlet do uruchomienia Get-Date
polecenia .
Aby uzyskać więcej informacji na temat pierwszeństwa poleceń i ukrytych poleceń, zobacz about_Command_Precedence.
Przykład 8. Importowanie poleceń z określonym ciągiem w nazwach
PS C:\> Import-PSSession -Session $S -CommandName **Item** -AllowClobber
To polecenie importuje polecenia, których nazwy obejmują element z programu PSSession w programie $S
. Ponieważ polecenie zawiera parametr CommandName , ale nie parametr FormatTypeData , importowane jest tylko polecenie.
Użyj tego polecenia, gdy używasz Import-PSSession
polecenia do uruchamiania polecenia na komputerze zdalnym i masz już dane formatowania polecenia w bieżącej sesji.
Przykład 9. Użyj parametru Moduł, aby wykryć, które polecenia zostały zaimportowane do sesji
PS C:\> $M = Import-PSSession -Session $S -CommandName *bits* -FormatTypeName *bits*
PS C:\> Get-Command -Module $M
CommandType Name
----------- ----
Function Add-BitsFile
Function Complete-BitsTransfer
Function Get-BitsTransfer
Function Remove-BitsTransfer
Function Resume-BitsTransfer
Function Set-BitsTransfer
Function Start-BitsTransfer
Function Suspend-BitsTransfer
To polecenie pokazuje, jak za pomocą parametru Get-Command
Module dowiedzieć się, które polecenia zostały zaimportowane do sesji za pomocą Import-PSSession
polecenia .
Pierwsze polecenie używa Import-PSSession
polecenia cmdlet do importowania poleceń, których nazwy zawierają "bity" z psSession w zmiennej $S
. Polecenie Import-PSSession
zwraca moduł tymczasowy, a polecenie zapisuje moduł w zmiennej $m
.
Drugie polecenie używa Get-Command
polecenia cmdlet do pobrania poleceń wyeksportowanych przez moduł w zmiennej $M
.
Parametr Module przyjmuje wartość ciągu, która jest przeznaczona dla nazwy modułu. Jednak podczas przesyłania obiektu modułu Windows PowerShell używa metody ToString w obiekcie modułu, która zwraca nazwę modułu.
Polecenie Get-Command
jest odpowiednikiem Get-Command $M.Name
polecenia ".
Parametry
-AllowClobber
Wskazuje, że to polecenie cmdlet importuje określone polecenia, nawet jeśli mają takie same nazwy jak polecenia w bieżącej sesji.
Jeśli zaimportujesz polecenie o tej samej nazwie co polecenie w bieżącej sesji, zaimportowane polecenie ukrywa lub zastępuje oryginalne polecenia. Aby uzyskać więcej informacji, zobacz about_Command_Precedence.
Domyślnie Import-PSSession
nie importuje poleceń, które mają taką samą nazwę jak polecenia w bieżącej sesji.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ArgumentList
Określa tablicę poleceń, które wynikają z używania określonych argumentów (wartości parametrów).
Aby na przykład zaimportować wariant Get-Item
polecenia na dysku certyfikatu (Cert:) w pliku PSSession w $S
pliku , wpisz Import-PSSession -Session $S -Command Get-Item -ArgumentList cert:
.
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Certificate
Określa certyfikat klienta używany do podpisywania plików formatu (*). Format.ps1xml) lub pliki modułów skryptu (psm1) w utworzonym module Import-PSSession
tymczasowym.
Wprowadź zmienną zawierającą certyfikat lub polecenie lub wyrażenie, które pobiera certyfikat.
Aby znaleźć certyfikat, użyj Get-PfxCertificate
polecenia cmdlet lub użyj Get-ChildItem
polecenia cmdlet na dysku Certyfikat (Cert:). Jeśli certyfikat jest nieprawidłowy lub nie ma wystarczającego urzędu, polecenie kończy się niepowodzeniem.
Type: | X509Certificate2 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CommandName
Określa polecenia z określonymi nazwami lub wzorcami nazw. Dozwolone są symbole wieloznaczne. Użyj polecenia CommandName lub jego aliasu , Name.
Domyślnie Import-PSSession
importuje wszystkie polecenia z sesji, z wyjątkiem poleceń, które mają takie same nazwy jak polecenia w bieżącej sesji. Zapobiega to ukrywaniu lub zastępowaniu poleceń importowanych w sesji. Aby zaimportować wszystkie polecenia, nawet te, które ukrywają lub zastępują inne polecenia, użyj parametru AllowClobber .
Jeśli używasz parametru CommandName , pliki formatowania dla poleceń nie są importowane, chyba że używasz parametru FormatTypeName . Podobnie, jeśli używasz parametru FormatTypeName , żadne polecenia nie są importowane, chyba że używasz parametru CommandName .
Type: | String[] |
Aliases: | Name |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CommandType
Określa typ obiektów poleceń. Wartość domyślna to Cmdlet. Użyj parametru CommandType lub jego aliasu , typ. Dopuszczalne wartości dla tego parametru to:
Alias
: aliasy Windows PowerShell w sesji zdalnej.All
: polecenia cmdlet i funkcje w sesji zdalnej.Application
: wszystkie pliki inne niż pliki Windows-PowerShell w ścieżkach wymienionych w zmiennej środowiskowej Path ($env:path
) w sesji zdalnej, w tym .txt, .exe i .dll plików.Cmdlet
: polecenia cmdlet w sesji zdalnej. Wartość domyślna to polecenie "Cmdlet".ExternalScript
: pliki .ps1 w ścieżkach wymienionych w zmiennej środowiskowej Path ($env:path
) w sesji zdalnej.Filter
iFunction
: funkcje Windows PowerShell w sesji zdalnej.Script
: skrypt blokuje sesję zdalną.
Te wartości są definiowane jako wyliczenie oparte na flagach. Możesz połączyć wiele wartości ze sobą, aby ustawić wiele flag przy użyciu tego parametru. Wartości można przekazać do parametru CommandType jako tablicę wartości lub jako ciąg rozdzielany przecinkami tych wartości. Polecenie cmdlet połączy wartości przy użyciu operacji binary-OR. Przekazywanie wartości jako tablicy jest najprostszą opcją, a także umożliwia użycie uzupełniania tabulatorów na wartościach.
Type: | CommandTypes |
Aliases: | Type |
Accepted values: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableNameChecking
Wskazuje, że to polecenie cmdlet pomija komunikat ostrzegający podczas importowania polecenia cmdlet lub funkcji, której nazwa zawiera niezatwierdzone zlecenie lub niedozwolony znak.
Domyślnie, gdy moduł importowany eksportuje polecenia cmdlet lub funkcje, które mają niezatwierdzone czasowniki w nazwach, Windows PowerShell wyświetla następujący komunikat ostrzegawczy:
"OSTRZEŻENIE: Niektóre zaimportowane nazwy poleceń obejmują niezatwierdzone czasowniki, które mogą sprawić, że będą one mniej wykrywalne. Użyj parametru Verbose, aby uzyskać więcej szczegółów lub typu Get-Verb
, aby wyświetlić listę zatwierdzonych zleceń.
Ten komunikat jest tylko ostrzeżeniem. Cały moduł jest nadal importowany, w tym polecenia niezgodne. Mimo że komunikat jest wyświetlany dla użytkowników modułu, autor modułu powinien rozwiązać problem z nazewnictwem.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FormatTypeName
Określa instrukcje formatowania dla określonych typów .NET Framework firmy Microsoft. Wprowadź nazwy typów. Dozwolone są symbole wieloznaczne.
Wartość tego parametru musi być nazwą typu zwracanego Get-FormatData
przez polecenie w sesji, z której są importowane polecenia. Aby pobrać wszystkie dane formatowania w sesji zdalnej, wpisz *
.
Jeśli polecenie nie zawiera parametru CommandName lub FormatTypeName, Import-PSSession
importuje instrukcje formatowania dla wszystkich typów .NET Framework zwracanych przez Get-FormatData
polecenie w sesji zdalnej.
Jeśli używasz parametru FormatTypeName , żadne polecenia nie są importowane, chyba że używasz parametru CommandName .
Podobnie, jeśli używasz parametru CommandName , pliki formatowania dla poleceń nie są importowane, chyba że używasz parametru FormatTypeName .
Type: | String[] |
Position: | 3 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FullyQualifiedModule
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ótów zawierająca następujące klucze.
ModuleName
- Wymagane Określa nazwę modułu.GUID
- Opcjonalne 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 FullyQualifiedModule w tym samym poleceniu co parametr Module . Te dwa parametry wykluczają się wzajemnie.
Type: | ModuleSpecification[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Module
Określa i tablicę poleceń w Windows PowerShell przystawki i modułów. Wprowadź nazwy przystawki i modułów. Symbole wieloznaczne nie są dozwolone.
Import-PSSession
Program nie może importować dostawców z przystawki.
Aby uzyskać więcej informacji, zobacz about_PSSnapins i about_Modules.
Type: | String[] |
Aliases: | PSSnapin |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Prefix
Określa prefiks do unów w nazwach importowanych poleceń.
Użyj tego parametru, aby uniknąć konfliktów nazw, które mogą wystąpić, gdy różne polecenia w sesji mają taką samą nazwę.
Jeśli na przykład określisz prefiks Remote, a następnie zaimportujesz Get-Date
polecenie cmdlet, polecenie cmdlet jest znane w sesji jako Get-RemoteDate
, i nie jest mylone z oryginalnym Get-Date
poleceniem cmdlet.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Session
Określa program PSSession , z którego importowane są polecenia cmdlet. Wprowadź zmienną zawierającą obiekt sesji lub polecenie, które pobiera obiekt sesji, na przykład New-PSSession
polecenie lub Get-PSSession
. Można określić tylko jedną sesję. Ten parametr jest wymagany.
Type: | PSSession |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca ten sam obiekt modułu, który New-Module
i Get-Module
polecenia cmdlet zwracają.
Zaimportowany moduł jest jednak tymczasowy i istnieje tylko w bieżącej sesji. Aby utworzyć stały moduł na dysku, użyj Export-PSSession
polecenia cmdlet .
Uwagi
Import-PSSession
korzysta z infrastruktury komunikacji zdalnej programu PowerShell. Aby użyć tego polecenia cmdlet, należy skonfigurować komputer pod kątem komunikacji zdalnie WS-Management. Aby uzyskać więcej informacji, zobacz about_Remote i about_Remote_Requirements.Import-PSSession
nie importuje zmiennych ani dostawców programu PowerShell.- Podczas importowania poleceń, które mają takie same nazwy jak polecenia w bieżącej sesji, zaimportowane polecenia mogą ukrywać aliasy, funkcje i polecenia cmdlet w sesji i mogą zastąpić funkcje i zmienne w sesji. Aby zapobiec konfliktom nazw, użyj parametru Prefix . Aby uzyskać więcej informacji, zobacz about_Command_Precedence.
Import-PSSession
konwertuje wszystkie polecenia na funkcje, zanim je zaimportuje. W związku z tym zaimportowane polecenia zachowują się nieco inaczej niż w przypadku zachowania oryginalnego typu polecenia. Jeśli na przykład zaimportujesz polecenie cmdlet z programu PSSession, a następnie zaimportujesz polecenie cmdlet o tej samej nazwie z modułu lub przystawki, polecenie cmdlet importowane z programu PSSession zawsze jest uruchamiane domyślnie, ponieważ funkcje mają pierwszeństwo przed poleceniami cmdlet. Z drugiej strony, jeśli importujesz alias do sesji, która ma alias o tej samej nazwie, oryginalny alias jest zawsze używany, ponieważ aliasy mają pierwszeństwo przed funkcjami. Aby uzyskać więcej informacji, zobacz about_Command_Precedence.Import-PSSession
Write-Progress
używa polecenia cmdlet do wyświetlania postępu polecenia. Może zostać wyświetlony pasek postępu, gdy polecenie jest uruchomione.- Aby znaleźć polecenia do zaimportowania, użyj
Invoke-Command
polecenia cmdlet ,Import-PSSession
aby uruchomićGet-Command
polecenie w programie PSSession. Aby uzyskać dane formatowania dla poleceń, używaGet-FormatData
polecenia cmdlet . Podczas uruchamianiaImport-PSSession
polecenia mogą zostać wyświetlone komunikaty o błędach z tych poleceń cmdlet.Import-PSSession
Ponadto nie można zaimportować poleceń z programu PSSession, które nie zawierająGet-Command
poleceń cmdlet ,Get-FormatData
,Select-Object
iGet-Help
. - Zaimportowane polecenia mają takie same ograniczenia jak inne polecenia zdalne, w tym brak możliwości uruchomienia programu za pomocą interfejsu użytkownika, takiego jak Notatnik.
- Ponieważ profile Windows PowerShell nie są uruchamiane w sesjach PSSessions, polecenia, które profil dodaje do sesji, nie są dostępne dla programu
Import-PSSession
. Aby zaimportować polecenia z profilu, użyjInvoke-Command
polecenia , aby ręcznie uruchomić profil w programie PSSession przed zaimportowaniem poleceń. - Moduł tymczasowy, który tworzy,
Import-PSSession
może zawierać plik formatowania, nawet jeśli polecenie nie importuje danych formatowania. Jeśli polecenie nie importuje danych formatowania, żadne utworzone pliki formatowania nie będą zawierać danych formatowania. - Aby użyć
Import-PSSession
programu , zasady wykonywania w bieżącej sesji nie mogą być ograniczone lub AllSigned, ponieważ tymczasowy moduł, któryImport-PSSession
tworzy, zawiera niepodpisane pliki skryptów, które są zabronione przez te zasady. Aby użyćImport-PSSession
bez zmiany zasad wykonywania dla komputera lokalnego, użyj parametruSet-ExecutionPolicy
Zakres , aby ustawić mniej restrykcyjne zasady wykonywania dla jednego procesu. - W Windows PowerShell 2.0 tematy pomocy dotyczące poleceń importowanych z innej sesji nie zawierają prefiksu przypisanego przy użyciu parametru Prefiks. Aby uzyskać pomoc dotyczącą zaimportowanego polecenia w Windows PowerShell 2.0, użyj oryginalnej (niefiksowanej) nazwy polecenia.