Udostępnij za pośrednictwem


Get-PSSession

Pobiera sesje programu PowerShell na komputerach lokalnych i zdalnych.

Składnia

Get-PSSession
   [-Name <String[]>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ComputerName] <String[]>
   [-ApplicationName <String>]
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   [-Name <String[]>]
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConnectionUri] <Uri[]>
   [-ConfigurationName <String>]
   [-AllowRedirection]
   -InstanceId <Guid[]>
   [-Credential <PSCredential>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [-ThrottleLimit <Int32>]
   [-State <SessionFilterState>]
   [-SessionOption <PSSessionOption>]
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -ContainerId <String[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   -InstanceId <Guid[]>
   [-State <SessionFilterState>]
   -VMId <Guid[]>
   [<CommonParameters>]
Get-PSSession
   [-ConfigurationName <String>]
   [-Name <String[]>]
   [-State <SessionFilterState>]
   -VMName <String[]>
   [<CommonParameters>]
Get-PSSession
   [-InstanceId <Guid[]>]
   [<CommonParameters>]
Get-PSSession
   [-Id] <Int32[]>
   [<CommonParameters>]

Opis

Polecenie Get-PSSession cmdlet pobiera sesje programu PowerShell zarządzane przez użytkownika (PSSessions) na komputerach lokalnych i zdalnych.

Począwszy od programu Windows PowerShell 3.0, sesje są przechowywane na komputerach na zdalnym końcu każdego połączenia. Parametry ComputerName lub ConnectionUri Get-PSSession można użyć, aby uzyskać sesje łączące się z komputerem lokalnym lub komputerami zdalnymi, nawet jeśli nie zostały utworzone w bieżącej sesji.

Bez parametrów Get-PSSession pobiera wszystkie sesje utworzone w bieżącej sesji.

Użyj parametrów filtrowania, takich jak Name, ID, InstanceID, State, ApplicationName i ConfigurationName, aby wybrać spośród zwracanych sesjiGet-PSSession.

Użyj pozostałych parametrów, aby skonfigurować połączenie tymczasowe, w którym Get-PSSession polecenie jest uruchamiane podczas korzystania z parametrów ComputerName lub ConnectionUri .

Uwaga

W programie Windows PowerShell 2.0 bez parametrów Get-PSSession pobiera wszystkie sesje utworzone w bieżącej sesji. Parametr ComputerName pobiera sesje, które zostały utworzone w bieżącej sesji i nawiąż połączenie z określonym komputerem.

Aby uzyskać więcej informacji na temat sesji programu PowerShell, zobacz about_PSSessions.

Przykłady

Przykład 1. Pobieranie sesji utworzonych w bieżącej sesji

Get-PSSession

To polecenie pobiera wszystkie sesje PSSessions , które zostały utworzone w bieżącej sesji. Nie uzyskuje ona sesji PSSessions utworzonych w innych sesjach lub na innych komputerach, nawet jeśli nawiążą połączenie z tym komputerem.

Przykład 2. Uzyskiwanie sesji połączonych z komputerem lokalnym

Get-PSSession -ComputerName "localhost"

To polecenie pobiera pliki PSSessions , które są połączone z komputerem lokalnym. Aby wskazać komputer lokalny, wpisz nazwę komputera, localhost lub kropkę (.)

Polecenie zwraca wszystkie sesje na komputerze lokalnym, nawet jeśli zostały utworzone w różnych sesjach lub na różnych komputerach.

Przykład 3. Uzyskiwanie sesji połączonych z komputerem

Get-PSSession -ComputerName "Server02"

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  2 Session3        Server02       Disconnected  ITTasks                       Busy
  1 ScheduledJobs   Server02       Opened        Microsoft.PowerShell     Available
  3 Test            Server02       Disconnected  Microsoft.PowerShell          Busy

To polecenie pobiera pssessions , które są połączone z komputerem Server02.

Polecenie zwraca wszystkie sesje na serwerze Server02, nawet jeśli zostały utworzone w różnych sesjach lub na różnych komputerach.

Dane wyjściowe pokazują, że dwie sesje mają Disconnected stan i Busy dostępność. Zostały one utworzone w różnych sesjach i są obecnie używane. SesjaScheduledJobs, która jest i AvailableOpened , została utworzona w bieżącej sesji.

Przykład 4. Zapisz wyniki tego polecenia

New-PSSession -ComputerName Server01, Server02, Server03
$s1, $s2, $s3 = Get-PSSession

W tym przykładzie pokazano, jak zapisać wyniki Get-PSSession polecenia w wielu zmiennych.

Pierwsze polecenie używa polecenia cmdlet do utworzenia New-PSSession psSessions na trzech komputerach zdalnych.

Drugie polecenie używa Get-PSSession polecenia cmdlet do pobrania trzech psSessions. Następnie zapisuje każdą z psSessions w oddzielnej zmiennej.

Gdy program PowerShell przypisuje tablicę obiektów do tablicy zmiennych, przypisuje pierwszy obiekt do pierwszej zmiennej, drugi obiekt do drugiej zmiennej itd. Jeśli istnieje więcej obiektów niż zmienne, przypisuje wszystkie pozostałe obiekty do ostatniej zmiennej w tablicy. Jeśli istnieje więcej zmiennych niż obiekty, dodatkowe zmienne nie są używane.

Przykład 5. Usuwanie sesji przy użyciu identyfikatora wystąpienia

Get-PSSession | Format-Table -Property ComputerName, InstanceID
$s = Get-PSSession -InstanceID a786be29-a6bb-40da-80fb-782c67f7db0f
Remove-PSSession -Session $s

W tym przykładzie pokazano, jak uzyskać pssession przy użyciu jego identyfikatora wystąpienia, a następnie usunąć usługę PSSession.

Pierwsze polecenie pobiera wszystkie sesje PSSessions , które zostały utworzone w bieżącej sesji. Wysyła on polecenia cmdlet PSSessions do Format-Table polecenia cmdlet, które wyświetla właściwości ComputerName i InstanceID każdego psSession.

Drugie polecenie używa Get-PSSession polecenia cmdlet , aby uzyskać określony plik PSSession i zapisać go w zmiennej $s . Polecenie używa parametru InstanceID do identyfikacji psSession.

Trzecie polecenie używa polecenia cmdlet Remove-PSSession do usunięcia psSession w zmiennej $s .

Przykład 6. Pobieranie sesji o określonej nazwie

Polecenia w tym przykładzie znajdują sesję, która ma określony format nazwy i używa określonej konfiguracji sesji, a następnie nawiąż połączenie z sesją. Możesz użyć polecenia takiego jak ten, aby znaleźć sesję, w której współpracownik rozpoczął zadanie i nawiązał połączenie, aby zakończyć zadanie.

Get-PSSession -ComputerName Server02, Server12 -Name BackupJob* -ConfigurationName ITTasks -SessionOption @{OperationTimeout=240000}

Id Name            ComputerName    State         ConfigurationName     Availability
 -- ----            ------------    -----         -----------------     ------------
  3 BackupJob04     Server02        Disconnected        ITTasks                  None

$s = Get-PSSession -ComputerName Server02 -Name BackupJob04 -ConfigurationName ITTasks | Connect-PSSession
$s

Id Name            ComputerName    State         ConfigurationName     Availability
-- ----            ------------    -----         -----------------     ------------
 5 BackupJob04     Server02        Opened        ITTasks                  Available

Pierwsze polecenie pobiera sesje na komputerach zdalnych Server02 i Server12, które mają nazwy rozpoczynające się od BackupJob i używają ITTasks konfiguracji sesji. Polecenie używa parametru Name do określenia wzorca nazwy i parametru ConfigurationName w celu określenia konfiguracji sesji. Wartość parametru SessionOption jest tabelą skrótów, która ustawia wartość parametru OperationTimeout na 240000 milisekundy (4 minuty). To ustawienie zapewnia więcej czasu na ukończenie polecenia. Parametry ConfigurationName i SessionOption służą do konfigurowania sesji tymczasowych, w których Get-PSSession polecenie cmdlet jest uruchamiane na każdym komputerze. Dane wyjściowe pokazują, że polecenie zwraca sesję BackupJob04 . Sesja jest rozłączona, a wartość Dostępność to None, co oznacza, że nie jest używana.

Drugie polecenie używa Get-PSSession polecenia cmdlet , aby przejść do BackupJob04 sesji i Connect-PSSession polecenia cmdlet w celu nawiązania połączenia z sesją. Polecenie zapisuje sesję w zmiennej $s .

Trzecie polecenie pobiera sesję w zmiennej $s . Dane wyjściowe pokazują, że Connect-PSSession polecenie zakończyło się pomyślnie. Sesja jest w stanie Otwarte i jest dostępna do użycia.

Przykład 7. Uzyskiwanie sesji przy użyciu jego identyfikatora

Get-PSSession -Id 2

To polecenie pobiera plik PSSession o identyfikatorze 2. Ponieważ wartość właściwości ID jest unikatowa tylko w bieżącej sesji, parametr Id jest prawidłowy tylko dla poleceń lokalnych.

Parametry

-AllowRedirection

Wskazuje, że to polecenie cmdlet umożliwia przekierowanie tego połączenia do alternatywnego identyfikatora URI (Uniform Resource Identifier). Domyślnie program PowerShell nie przekierowuje połączeń.

Ten parametr konfiguruje tymczasowe połączenie, które jest tworzone w celu uruchomienia Get-PSSession polecenia z parametrem ConnectionUri .

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

-ApplicationName

Określa nazwę aplikacji. To polecenie cmdlet łączy się tylko z sesjami korzystającymi z określonej aplikacji.

Wprowadź segment nazwy aplikacji identyfikatora URI połączenia. Na przykład w następującym identyfikatorze URI połączenia nazwa aplikacji to WSMan: http://localhost:5985/WSMAN. Nazwa aplikacji sesji jest przechowywana we właściwości Runspace.ConnectionInfo.AppName sesji.

Wartość tego parametru służy do wybierania i filtrowania sesji. Nie zmienia aplikacji używanej przez sesję.

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

-Authentication

Określa mechanizm używany do uwierzytelniania poświadczeń dla sesji, w której Get-PSSession jest uruchamiane polecenie.

Ten parametr konfiguruje tymczasowe połączenie, które jest tworzone w celu uruchomienia Get-PSSession polecenia za pomocą parametru ComputerName lub ConnectionUri .

Dopuszczalne wartości tego parametru to:

  • Default
  • Basic
  • CredSSP
  • Digest
  • Kerberos
  • Negotiate
  • NegotiateWithImplicitCredential.

Domyślna wartość to Default.

Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationMechanism Enumeration (Wyliczenie AuthenticationMechanism).

Uwaga

Uwierzytelnianie dostawcy obsługi zabezpieczeń poświadczeń (CredSSP), w którym poświadczenia użytkownika są przekazywane do komputera zdalnego do uwierzytelnienia, jest przeznaczone dla poleceń wymagających uwierzytelniania w więcej niż jednym zasobie, takich jak uzyskiwanie dostępu do zdalnego udziału sieciowego. Ten mechanizm zwiększa ryzyko bezpieczeństwa operacji zdalnej. W przypadku naruszenia zabezpieczeń komputera zdalnego poświadczenia przekazywane do niego mogą służyć do kontrolowania sesji sieciowej.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:AuthenticationMechanism
Dopuszczalne wartości:Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos
Position:Named
Domyślna wartość:Default
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-CertificateThumbprint

Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika z uprawnieniami do tworzenia sesji, w której Get-PSSession jest uruchamiane polecenie. Wprowadź odcisk palca certyfikatu.

Ten parametr konfiguruje tymczasowe połączenie, które jest tworzone w celu uruchomienia Get-PSSession polecenia za pomocą parametru ComputerName lub ConnectionUri .

Certyfikaty są używane w uwierzytelnianiu opartym na certyfikatach klienta. Mogą być mapowane tylko na konta użytkowników lokalnych; nie działają z kontami domeny.

Aby uzyskać odcisk palca certyfikatu, użyj Get-Item polecenia lub Get-ChildItem na dysku programu PowerShell Cert: .

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

-ComputerName

Określa tablicę nazw komputerów. Pobiera sesje łączące się z określonymi komputerami. Symbole wieloznaczne nie są dozwolone. Nie ma żadnej wartości domyślnej.

Począwszy od programu Windows PowerShell 3.0, obiekty PSSession są przechowywane na komputerach na zdalnym końcu każdego połączenia. Aby pobrać sesje na określonych komputerach, program PowerShell tworzy tymczasowe połączenie z każdym komputerem i uruchamia Get-PSSession polecenie.

Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny jednego lub kilku komputerów. Aby określić komputer lokalny, wpisz nazwę komputera, localhostlub kropkę (.).

Uwaga

Ten parametr pobiera sesje tylko z komputerów z programem Windows PowerShell w wersji 3.0 lub nowszej programu PowerShell. Wcześniejsze wersje nie przechowują sesji.

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

-ConfigurationName

Określa nazwę konfiguracji. To polecenie cmdlet pobiera tylko do sesji korzystających z określonej konfiguracji sesji.

Wprowadź nazwę konfiguracji lub w pełni kwalifikowany identyfikator URI zasobu dla konfiguracji sesji. Jeśli określisz tylko nazwę konfiguracji, następujący identyfikator URI schematu jest wstępnie utworzony: http://schemas.microsoft.com/powershell. Nazwa konfiguracji sesji jest przechowywana we właściwości ConfigurationName sesji.

Wartość tego parametru służy do wybierania i filtrowania sesji. Nie zmienia konfiguracji sesji używanej przez sesję.

Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.

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

-ConnectionUri

Określa identyfikator URI, który definiuje punkt końcowy połączenia dla sesji tymczasowej, w której Get-PSSession jest uruchamiane polecenie. Identyfikator URI musi być w pełni kwalifikowany.

Ten parametr konfiguruje tymczasowe połączenie, które jest tworzone w celu uruchomienia Get-PSSession polecenia z parametrem ConnectionUri .

Format tego ciągu to:

<Transport>://<ComputerName>:<Port\>/<ApplicationName>

Wartość domyślna to: http://localhost:5985/WSMAN.

Jeśli nie określisz identyfikatora ConnectionUri, możesz użyć parametrów UseSSL, ComputerName, Port i ApplicationName, aby określić wartości identyfikatora ConnectionURI. Prawidłowe wartości segmentu Transport identyfikatora URI to HTTP i HTTPS. Jeśli określisz identyfikator URI połączenia z segmentem Transport, ale nie określisz portu, sesja zostanie utworzona z portami standardów: 80 dla protokołu HTTP i 443 HTTPS. Aby użyć domyślnych portów komunikacji zdalnej programu PowerShell, określ port 5985 protokołu HTTP lub 5986 HTTPS.

Jeśli komputer docelowy przekierowuje połączenie do innego identyfikatora URI, program PowerShell uniemożliwia przekierowanie, chyba że użyjesz parametru AllowRedirection w poleceniu .

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Ten parametr pobiera sesje tylko z komputerów z programem Windows PowerShell w wersji 3.0 lub nowszej programu Windows PowerShell. Wcześniejsze wersje nie przechowują sesji.

Typ:Uri[]
Aliasy:URI, CU
Position:0
Domyślna wartość:Http://localhost:5985/WSMAN
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ContainerId

Określa tablicę identyfikatorów kontenerów. To polecenie cmdlet rozpoczyna interakcyjną sesję z każdym z określonych kontenerów. Użyj polecenia , docker ps aby uzyskać listę identyfikatorów kontenerów. Aby uzyskać więcej informacji, zobacz pomoc dotyczącą polecenia docker ps .

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

-Credential

Określa poświadczenia użytkownika. To polecenie cmdlet uruchamia polecenie z uprawnieniami określonego użytkownika. Określ konto użytkownika, które ma uprawnienia do nawiązywania połączenia z komputerem zdalnym Get-PSSession i uruchom polecenie. Wartość domyślna to użytkownik bieżący.

Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential wygenerowany przez Get-Credential polecenie cmdlet. Jeśli wpiszesz nazwę użytkownika, zostanie wyświetlony monit o wprowadzenie hasła.

Poświadczenia są przechowywane w obiekcie PSCredential , a hasło jest przechowywane jako secureString.

Uwaga

Aby uzyskać więcej informacji na temat ochrony danych SecureString , zobacz Jak bezpieczny jest protokół SecureString?.

Ten parametr służy do konfigurowania połączenia tymczasowego utworzonego w celu uruchomienia Get-PSSession polecenia z parametrem ComputerName lub ConnectionUri .

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:PSCredential
Position:Named
Domyślna wartość:Current user
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Id

Określa tablicę identyfikatorów sesji. To polecenie cmdlet pobiera tylko sesje z określonymi identyfikatorami. Wpisz co najmniej jeden identyfikator, rozdzielony przecinkami lub użyj operatora zakresu (..), aby określić zakres identyfikatorów. Nie można użyć parametru ID razem z parametrem ComputerName .

Identyfikator to liczba całkowita, która jednoznacznie identyfikuje sesje zarządzane przez użytkownika w bieżącej sesji. Łatwiej jest zapamiętać i wpisać niż InstanceId, ale jest unikatowy tylko w ramach bieżącej sesji. Identyfikator sesji jest przechowywany we właściwości ID sesji.

Typ:Int32[]
Position:0
Domyślna wartość:All sessions
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-InstanceId

Określa tablicę identyfikatorów wystąpień sesji. To polecenie cmdlet pobiera tylko sesje z określonymi identyfikatorami wystąpień.

Identyfikator wystąpienia to identyfikator GUID, który jednoznacznie identyfikuje sesję na komputerze lokalnym lub zdalnym. Identyfikator wystąpienia jest unikatowy, nawet jeśli masz wiele sesji uruchomionych w programie PowerShell.

Identyfikator wystąpienia sesji jest przechowywany we właściwości InstanceID sesji.

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

-Name

Określa tablicę nazw sesji. To polecenie cmdlet pobiera tylko sesje, które mają określone przyjazne nazwy. Dozwolone są symbole wieloznaczne.

Przyjazna nazwa sesji jest przechowywana we właściwości Name sesji.

Typ:String[]
Position:Named
Domyślna wartość:All sessions
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:True

-Port

Określa określony port sieciowy używany do połączenia tymczasowego, w którym Get-PSSession jest uruchamiane polecenie. Aby nawiązać połączenie z komputerem zdalnym, komputer zdalny musi nasłuchiwać na porcie używanym przez połączenie. Domyślne porty to 5985, czyli port usługi WinRM dla protokołu HTTP i 5986, który jest portem Usługi WinRM dla protokołu HTTPS.

Przed użyciem portu alternatywnego należy skonfigurować odbiornik WinRM na komputerze zdalnym do nasłuchiwania na tym porcie. Aby skonfigurować odbiornik, wpisz następujące dwa polecenia w wierszu polecenia programu PowerShell:

Remove-Item -Path WSMan:\Localhost\listener\listener* -Recurse

New-Item -Path WSMan:\Localhost\listener -Transport http -Address * -Port \<port-number\>

Ten parametr służy do konfigurowania połączenia tymczasowego utworzonego w celu uruchomienia Get-PSSession polecenia z parametrem ComputerName lub ConnectionUri .

Nie używaj parametru Port , chyba że musisz. Zestaw portów w poleceniu dotyczy wszystkich komputerów lub sesji, na których jest uruchamiane polecenie. Ustawienie alternatywnego portu może uniemożliwić uruchomienie polecenia na wszystkich komputerach.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:Int32
Position:Named
Domyślna wartość:5985, 5986
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-SessionOption

Określa opcje zaawansowane dla sesji. Wprowadź obiekt SessionOption, taki jak obiekt utworzony za pomocą New-PSSessionOption polecenia cmdlet lub tabela skrótów, w której klucze są nazwami opcji sesji, a wartości to wartości opcji sesji.

Wartości domyślne opcji są określane przez wartość zmiennej $PSSessionOption preferencji, jeśli została ustawiona. W przeciwnym razie wartości domyślne są ustanawiane przez opcje ustawione w konfiguracji sesji.

Wartości opcji sesji mają pierwszeństwo przed wartościami domyślnymi dla sesji ustawionych w zmiennej $PSSessionOption preferencji i w konfiguracji sesji. Nie mają jednak pierwszeństwa przed maksymalnymi wartościami, limitami przydziału lub limitami ustawionymi w konfiguracji sesji.

Aby uzyskać opis opcji sesji, w tym wartości domyślne, zobacz New-PSSessionOption. Aby uzyskać informacje o zmiennej $PSSessionOption preferencji, zobacz about_Preference_Variables. Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz Informacje o konfiguracjach sesji.

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

-State

Określa stan sesji. To polecenie cmdlet pobiera tylko sesje w określonym stanie. Dopuszczalne wartości tego parametru to: All, , OpenedDisconnected, Closed, i Broken. Domyślna wartość to All.

Wartość stanu sesji jest względna względem bieżących sesji. Sesje, które nie zostały utworzone w bieżących sesjach i nie są połączone z bieżącą sesją, mają stan Disconnected nawet wtedy, gdy są połączone z inną sesją.

Stan sesji jest przechowywany we właściwości State sesji.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

Typ:SessionFilterState
Dopuszczalne wartości:All, Opened, Disconnected, Closed, Broken
Position:Named
Domyślna wartość:All
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ThrottleLimit

Określa maksymalną liczbę współbieżnych połączeń, które można ustanowić w celu uruchomienia Get-PSSession polecenia. Jeśli pominiesz ten parametr lub wprowadź wartość 0 (zero), zostanie użyta wartość domyślna , 32. Limit ograniczania ma zastosowanie tylko do bieżącego polecenia, a nie do sesji ani do komputera.

Ten parametr został wprowadzony w programie Windows PowerShell 3.0.

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

-UseSSL

Wskazuje, że to polecenie cmdlet używa protokołu Secure Sockets Layer (SSL) do ustanowienia połączenia, w którym Get-PSSession jest uruchamiane polecenie. Domyślnie nie jest używane szyfrowanie SSL. Jeśli używasz tego parametru, ale protokół SSL nie jest dostępny na porcie używanym dla polecenia, polecenie zakończy się niepowodzeniem.

Ten parametr konfiguruje tymczasowe połączenie, które jest tworzone w celu uruchomienia Get-PSSession polecenia za pomocą parametru ComputerName .

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

-VMId

Określa tablicę identyfikatorów maszyn wirtualnych. To polecenie cmdlet uruchamia interaktywną sesję z każdą z określonych maszyn wirtualnych. Aby wyświetlić dostępne maszyny wirtualne, użyj następującego polecenia:

Get-VM | Select-Object -Property Name, ID

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

-VMName

Określa tablicę nazw maszyn wirtualnych. To polecenie cmdlet uruchamia interaktywną sesję z każdą z określonych maszyn wirtualnych. Aby wyświetlić dostępne maszyny wirtualne, użyj Get-VM polecenia cmdlet .

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

Dane wejściowe

None

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

Dane wyjściowe

PSSession

Uwagi

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

  • Wszystkie platformy:

    • gsn
  • To polecenie cmdlet pobiera obiekty PSSession zarządzane przez użytkownika, takie jak te, które są tworzone przy użyciu New-PSSessionpoleceń cmdlet , Enter-PSSessioni Invoke-Command . Nie pobiera sesji zarządzanej przez system utworzonej podczas uruchamiania programu PowerShell.

  • Począwszy od programu Windows PowerShell 3.0, obiekty PSSession są przechowywane na komputerze, który znajduje się po stronie serwera lub odbiera koniec połączenia. Aby uzyskać sesje przechowywane na komputerze lokalnym lub komputerze zdalnym, program PowerShell ustanawia sesję tymczasową dla określonego komputera i uruchamia polecenia zapytania w sesji.

  • Aby uzyskać sesje łączące się z komputerem zdalnym, użyj parametrów ComputerName lub ConnectionUri , aby określić komputer zdalny. Aby przefiltrować sesje, Get-PSSession użyj parametrów Name, ID, InstanceID i State . Użyj pozostałych parametrów, aby skonfigurować sesję tymczasową, która Get-PSSession używa.

  • W przypadku używania parametrów Get-PSSession ComputerName lub ConnectionUri pobiera tylko sesje z komputerów z programem Windows PowerShell 3.0 i nowszymi wersjami programu PowerShell.

  • Wartość właściwości State sesji PSSession jest względna dla bieżącej sesji. W związku z tym wartość Disconnected oznacza, że sesja PSSession nie jest połączona z bieżącą sesją. Nie oznacza to jednak, że sesja PSSession jest odłączona od wszystkich sesji. Może być połączony z inną sesją. Aby określić, czy można nawiązać połączenie, czy ponownie nawiązać połączenie z programem PSSession z bieżącej sesji, użyj właściwości Availability .

Wartość Availability (Brak) wskazuje, że można nawiązać połączenie z sesją. Wartość Busy wskazuje, że nie można nawiązać połączenia z usługą PSSession , ponieważ jest ona połączona z inną sesją.

Aby uzyskać więcej informacji na temat wartości właściwości State sesji, zobacz RunspaceState, wyliczenie.

Aby uzyskać więcej informacji na temat wartości właściwości Availability sesji, zobacz RunspaceAvailability Enumeration (Wyliczenie RunspaceAvailability).