Udostępnij za pośrednictwem


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 cmdlet Import-PSSession importuje polecenia cmdlet, 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 polecenie cmdlet Get-Command można znaleźć w pliku PSSession.

Użyj polecenia Import-PSSession, aby zaimportować polecenia z niestandardowej powłoki, takiej jak powłoka programu Microsoft Exchange Server, lub sesji zawierającej moduły programu Windows PowerShell i przystawki lub inne elementy, które nie znajdują się w bieżącej sesji.

Aby zaimportować polecenia, najpierw użyj polecenia cmdlet New-PSSession do utworzenia programu PSSession. Następnie użyj polecenia cmdlet Import-PSSession, aby zaimportować polecenia. Domyślnie Import-PSSession importuje wszystkie polecenia z wyjątkiem poleceń o takich samych nazwach jak polecenia w bieżącej sesji. Aby zaimportować wszystkie polecenia, użyj parametru AllowClobber.

Zaimportowane polecenia można użyć tak samo jak dowolne polecenie w sesji. Gdy używasz zaimportowanego polecenia, zaimportowana część polecenia jest uruchamiana niejawnie w sesji, z której została zaimportowana. Jednak operacje zdalne są obsługiwane w całości przez program 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 zadania w tle programu Windows PowerShell. Aby uzyskać więcej informacji, zobacz about_Jobs.

W przypadku używania Import-PSSessionprogram 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 polecenia cmdlet Export-PSSession.

Polecenie cmdlet Import-PSSession używa niejawnej funkcji komunikacji zdalnej programu Windows PowerShell. Podczas importowania poleceń do bieżącej sesji są one uruchamiane niejawnie w oryginalnej sesji lub w podobnej sesji na komputerze źródłowym.

Począwszy od programu Windows PowerShell 3.0, możesz użyć polecenia cmdlet Import-Module, 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 zaimportowania wybranych modułów z sesji zdalnej do bieżącej sesji.

Przykłady

Przykład 1. Importowanie wszystkich poleceń z programu PSSession

PS C:\> $S = New-PSSession -ComputerName Server01
PS C:\> Import-PSSession -Session $S

To polecenie importuje wszystkie polecenia z 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

PS C:\> $S = New-PSSession https://ps.testlabs.com/powershell
PS C:\> Import-PSSession -Session $S -CommandName *-test -FormatTypeName *
PS C:\> New-Test -Name Test1
PS C:\> Get-Test test1 | Run-Test

Te polecenia importują polecenia z nazwami kończącymi się ciągiem "-test" z sesji lokalnej programu PSSession, a następnie pokazują, jak używać zaimportowanego polecenia cmdlet.

Pierwsze polecenie używa polecenia cmdlet New-PSSession do utworzenia programu PSSession. Zapisuje plik PSSession w zmiennej $S.

Drugie polecenie używa polecenia cmdlet Import-PSSession do importowania poleceń z programu PSSession w $S do 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ń testowych.

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ć. Do uruchomienia zaimportowanego polecenia nie trzeba używać polecenia cmdlet Invoke-Command.

Przykład 3. Importowanie poleceń cmdlet z programu PSSession

PS C:\> $S1 = New-PSSession -ComputerName s1
PS C:\> $S2 = New-PSSession -ComputerName s2
PS C:\> Import-PSSession -Session s1 -Type cmdlet -Name New-Test, Get-Test -FormatTypeName *
PS C:\> Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
PS C:\> New-Test Test1 | Set-Test -RunType Full

W tym przykładzie pokazano, że można używać zaimportowanych poleceń cmdlet tak samo jak lokalne polecenia cmdlet.

Te polecenia importuje polecenia cmdlet New-Test i Get-Test z psSession na komputerze Server01 i polecenia cmdlet Set-Test z psSession na komputerze Server02.

Mimo że polecenia cmdlet zostały zaimportowane z różnych psSessions, można przekazać obiekt z jednego polecenia cmdlet do innego bez błędu.

Przykład 4. Uruchamianie zaimportowanego polecenia jako zadania w tle

PS C:\> $S = New-PSSession -ComputerName Server01
PS C:\> Import-PSSession -Session $S -CommandName *-test* -FormatTypeName *
PS C:\> $batch = New-Test -Name Batch -AsJob
PS C:\> 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 pssession na komputerze Server01 i zapisuje obiekt PSSession w zmiennej $S.

Drugie polecenie używa Import-PSSession do zaimportowania poleceń cmdlet testowych z programu PSSession w $S do bieżącej sesji.

Trzecie polecenie używa parametru AsJob zaimportowanego polecenia cmdlet New-Test, aby uruchomić polecenie New-Test jako zadanie w tle. Polecenie zapisuje obiekt zadania, który New-Test zwraca wartość w zmiennej $batch.

Czwarte polecenie używa polecenia cmdlet Receive-Job, aby uzyskać wyniki zadania w zmiennej $batch.

Przykład 5. Importowanie poleceń cmdlet i funkcji z modułu programu Windows PowerShell

PS C:\> $S = New-PSSession -ComputerName Server01
PS C:\> Invoke-Command -Session $S {Import-Module TestManagement}
PS C:\> Import-PSSession -Session $S -Module TestManagement

W tym przykładzie pokazano, jak zaimportować polecenia cmdlet i funkcje z modułu programu Windows PowerShell na komputerze zdalnym do bieżącej sesji.

Pierwsze polecenie tworzy pssession na komputerze Server01 i zapisuje go w zmiennej $S.

Drugie polecenie używa polecenia cmdlet Invoke-Command do uruchomienia polecenia Import-Module w programie PSSession w $S.

Zazwyczaj moduł zostanie dodany do wszystkich sesji za pomocą polecenia Import-Module w profilu programu Windows PowerShell, ale profile nie są uruchamiane w sesjach PSSessions.

Trzecie polecenie używa parametru module Import-PSSession do zaimportowania poleceń cmdlet i funkcji w module do bieżącej sesji.

Przykład 6. Tworzenie 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_tcw1zunz.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_tcw1zunz.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 tworzy moduł w pliku tymczasowym na dysku. Pokazuje również, że wszystkie polecenia są konwertowane na funkcje, zanim zostaną zaimportowane do bieżącej sesji.

Polecenie używa polecenia cmdlet Import-PSSession w celu zaimportowania polecenia cmdlet Get-Date i funkcji SearchHelp do bieżącej sesji.

Polecenie cmdlet Import-PSSession zwraca obiekt PSModuleInfo reprezentujący moduł tymczasowy. Wartość właściwości path pokazuje, że Import-PSSession utworzył plik modułu skryptu (psm1) w lokalizacji tymczasowej. Właściwość ExportedFunctions pokazuje, że polecenie cmdlet get-date 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 za pomocą zaimportowanego polecenia.

Pierwsze polecenie importuje polecenie cmdlet Get-Date z pliku PSSession w zmiennej $S. Ponieważ bieżąca sesja zawiera polecenie cmdlet get-date , parametr AllowClobber jest wymagany w poleceniu .

Drugie polecenie używa parametru All polecenia cmdlet Get-Command, aby pobrać wszystkie polecenia Get-Date w bieżącej sesji. Dane wyjściowe pokazują, że sesja zawiera oryginalne polecenie cmdlet Get-Date oraz funkcję Get-Date. Funkcja Get-Date uruchamia zaimportowane polecenie cmdlet Get-Date w programie PSSession w $S.

Trzecie polecenie uruchamia polecenie Get-Date. Ponieważ funkcje mają pierwszeństwo przed poleceniami cmdlet, program Windows PowerShell uruchamia zaimportowaną funkcję Get-Date, która zwraca datę juliana.

Czwarte i piąte polecenia pokazują, jak użyć kwalifikowanej nazwy do uruchomienia polecenia ukrytego przez zaimportowane polecenie.

Czwarte polecenie pobiera nazwę przystawki programu Windows PowerShell, która dodała oryginalne polecenie cmdlet Get-Date do bieżącej sesji.

Piąte polecenie używa kwalifikowanej nazwy przystawki polecenia cmdlet get-date , aby uruchomić polecenie Get-Date.

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ą "Item" z psSession w $S. Ponieważ polecenie zawiera parametr CommandName, ale nie parametr FormatTypeData, importowane jest tylko polecenie.

Użyj tego polecenia, gdy używasz Import-PSSession, aby uruchomić polecenie na komputerze zdalnym i masz już dane formatowania dla polecenia w bieżącej sesji.

Przykład 9. Użyj parametru Moduł, aby dowiedzieć się, 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 użyć parametru modułu Get-Command, aby dowiedzieć się, które polecenia zostały zaimportowane do sesji za pomocą polecenia Import-PSSession.

Pierwsze polecenie używa polecenia cmdlet Import-PSSession do importowania poleceń, których nazwy obejmują "bity" z psSession w zmiennej $S. Polecenie Import-PSSession zwraca moduł tymczasowy, a polecenie zapisuje moduł w zmiennej $m.

Drugie polecenie używa polecenia cmdlet Get-Command w celu 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 program 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".

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 takiej samej nazwie jak 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ń o tej samej nazwie co polecenia w bieżącej sesji.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych: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 polecenia Get-Item na dysku certyfikatu (Cert:) w programie PSSession w $S, wpisz Import-PSSession -Session $S -Command Get-Item -ArgumentList cert:.

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

-Certificate

Określa certyfikat klienta używany do podpisywania plików formatu (*). Format.ps1xml) lub pliki modułów skryptu (psm1) w module tymczasowym, który import-PSSession tworzy.

Wprowadź zmienną zawierającą certyfikat lub polecenie lub wyrażenie, które pobiera certyfikat.

Aby znaleźć certyfikat, użyj polecenia cmdlet Get-PfxCertificate lub użyj polecenia cmdlet Get-ChildItem na dysku Certyfikat (Cert:). Jeśli certyfikat jest nieprawidłowy lub nie ma wystarczającego urzędu, polecenie kończy się niepowodzeniem.

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

-CommandName

Określa polecenia z określonymi nazwami lub wzorcami nazw. Dozwolone są symbole wieloznaczne. Użyj CommandName lub aliasu Nazwa.

Domyślnie Import-PSSession importuje wszystkie polecenia z sesji, z wyjątkiem poleceń o takich samych nazwach 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 poleceń nie zostaną zaimportowane, chyba że zostanie użyty parametr FormatTypeName. Podobnie, jeśli używasz parametru FormatTypeName, nie są importowane żadne polecenia, chyba że używasz parametru CommandName.

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

-CommandType

Określa typ obiektów poleceń. Wartość domyślna to Polecenie cmdlet. Użyj CommandType lub jego aliasu, typ. Dopuszczalne wartości tego parametru to:

  • Pseudonim. Aliasy programu Windows PowerShell w sesji zdalnej.
  • Cały. Polecenia cmdlet i funkcje w sesji zdalnej.
  • Aplikacja. Wszystkie pliki inne niż pliki Windows-PowerShell w ścieżkach wymienionych w zmiennej środowiskowej Path ($env:path) w sesji zdalnej, w tym .txt, .exei .dll plików.
  • Polecenie 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.
  • Filtrowanie i funkcja. Funkcje programu Windows PowerShell w sesji zdalnej.
  • Skrypt. Skrypt blokuje sesję zdalną.
Typ:CommandTypes
Aliasy:Type
Dopuszczalne wartości:Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych: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ł importujący eksportuje polecenia cmdlet lub funkcje, które mają niezatwierdzone czasowniki w nazwach, program 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 wpisz Get-Verb, aby wyświetlić listę zatwierdzonych czasowników.

Ten komunikat jest tylko ostrzeżeniem. Cały moduł jest nadal importowany, w tym polecenia niezgodne. Mimo że komunikat jest wyświetlany użytkownikom modułu, problem z nazewnictwem powinien zostać rozwiązany przez autora modułu.

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

-FormatTypeName

Określa instrukcje formatowania dla określonych typów programu Microsoft .NET Framework. Wprowadź nazwy typów. Dozwolone są symbole wieloznaczne.

Wartość tego parametru musi być nazwą typu zwracanego przez polecenie Get-FormatData w sesji, z której importowane są polecenia. Aby pobrać wszystkie dane formatowania w sesji zdalnej, wpisz *.

Jeśli polecenie nie zawiera parametru CommandName lub FormatTypeName parametru, Import-PSSession importuje instrukcje formatowania dla wszystkich typów programu .NET Framework zwróconych przez get-FormatData polecenia w sesji zdalnej.

Jeśli używasz parametru FormatTypeName, żadne polecenia nie są importowane, chyba że użyjesz parametru CommandName.

Podobnie, jeśli używasz parametru CommandName, pliki formatowania poleceń nie są importowane, chyba że używasz parametru FormatTypeName.

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

-FullyQualifiedModule

Określa moduły o nazwach określonych w postaci ModuleSpecification obiektów (opisanych w sekcji Uwagi ModuleSpecification Constructor (Hashtable) w bibliotece MSDN). Na przykład parametr FullyQualifiedModule akceptuje nazwę modułu określoną w formacie @{ModuleName = "modulename"; ModuleVersion = "version_number"} lub @{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}. ModuleName i ModuleVersion są wymagane, ale identyfikator GUID jest opcjonalny.

Nie można określić parametru FullyQualifiedModule w tym samym poleceniu co parametr modułu ; te dwa parametry wykluczają się wzajemnie.

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

-Module

Określa i tablicę poleceń w przystawkach i modułach programu Windows PowerShell. Wprowadź nazwy przystawki i modułów. Symbole wieloznaczne nie są dozwolone.

Import-PSSession nie może importować dostawców z przystawki.

Aby uzyskać więcej informacji, zobacz about_PSSnapins i about_Modules.

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

-Prefix

Określa prefiks do ownikó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 polecenie cmdlet Get-Date, polecenie cmdlet jest znane w sesji jako Get-RemoteDatei nie jest mylony z oryginalnym poleceniem cmdlet Get-Date.

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

-Session

Określa 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 lub Get-PSSession polecenia. Można określić tylko jedną sesję. Ten parametr jest wymagany.

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

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

PSModuleInfo

Import-PSSession zwraca ten sam obiekt modułu, który New-Module i Get-Module polecenia cmdlet. Zaimportowany moduł jest jednak tymczasowy i istnieje tylko w bieżącej sesji. Aby utworzyć stały moduł na dysku, użyj polecenia cmdlet Export-PSSession.

Uwagi

  • import-PSSession opiera się na infrastrukturze komunikacji zdalnej programu Windows PowerShell. Aby można było użyć tego polecenia cmdlet, komputer musi być skonfigurowany do 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 Windows 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 prefiksu . Aby uzyskać więcej informacji, zobacz about_Command_Precedence.
  • Import-PSSession konwertuje wszystkie polecenia na funkcje przed ich zaimportowaniem. 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 używa polecenia cmdlet Write-Progress do wyświetlania postępu polecenia . Może zostać wyświetlony pasek postępu, gdy polecenie jest uruchomione.
  • Aby znaleźć polecenia do zaimportowania, Import-PSSession używa polecenia cmdlet Invoke-Command do uruchomienia polecenia Get-Command w programie PSSession. Aby uzyskać dane formatowania dla poleceń, używa polecenia cmdlet Get-FormatData. Podczas uruchamiania polecenia Import-PSSession mogą zostać wyświetlone komunikaty o błędach z tych poleceń cmdlet. Ponadto Import-PSSession nie może importować poleceń z programu PSSession, który nie zawiera poleceń Get-Command, Get-FormatData, Select-Object i Get-Help poleceń cmdlet.
  • 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 programu Windows PowerShell nie są uruchamiane w programie PSSessions, polecenia, które dodaje profil do sesji, nie są dostępne dla Import-PSSession. Aby zaimportować polecenia z profilu, przed zaimportowaniem poleceń użyj polecenia Invoke-Command, aby uruchomić profil w programie PSSession ręcznie.
  • Moduł tymczasowy, który import-PSSession tworzy, 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, zasady wykonywania w bieżącej sesji nie mogą być ograniczone lub AllSigned, ponieważ tymczasowy moduł, który Import-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 parametru Zakres Set-ExecutionPolicy, aby ustawić mniej restrykcyjne zasady wykonywania dla pojedynczego procesu.
  • W programie Windows PowerShell 2.0 tematy pomocy dotyczące poleceń importowanych z innej sesji nie zawierają prefiksu przypisywanego przy użyciu parametru prefiksu . Aby uzyskać pomoc dotyczącą zaimportowanego polecenia w programie Windows PowerShell 2.0, użyj oryginalnej (niefiksowanej) nazwy polecenia.