Udostępnij za pośrednictwem


New-PSSession

Tworzy trwałe połączenie z komputerem lokalnym lub zdalnym.

Składnia

New-PSSession
   [[-ComputerName] <String[]>]
   [-Credential <PSCredential>]
   [-Name <String[]>]
   [-EnableNetworkAccess]
   [-ConfigurationName <String>]
   [-Port <Int32>]
   [-UseSSL]
   [-ApplicationName <String>]
   [-ThrottleLimit <Int32>]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
New-PSSession
   [-Credential <PSCredential>]
   [-Name <String[]>]
   [-EnableNetworkAccess]
   [-ConfigurationName <String>]
   [-ThrottleLimit <Int32>]
   [-ConnectionUri] <Uri[]>
   [-AllowRedirection]
   [-SessionOption <PSSessionOption>]
   [-Authentication <AuthenticationMechanism>]
   [-CertificateThumbprint <String>]
   [<CommonParameters>]
New-PSSession
   -Credential <PSCredential>
   [-Name <String[]>]
   [-ConfigurationName <String>]
   [-VMId] <Guid[]>
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   -Credential <PSCredential>
   [-Name <String[]>]
   [-ConfigurationName <String>]
   -VMName <String[]>
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   [[-Session] <PSSession[]>]
   [-Name <String[]>]
   [-EnableNetworkAccess]
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]
New-PSSession
   [-Name <String[]>]
   [-ConfigurationName <String>]
   -ContainerId <String[]>
   [-RunAsAdministrator]
   [-ThrottleLimit <Int32>]
   [<CommonParameters>]

Opis

Polecenie New-PSSession cmdlet tworzy sesję programu PowerShell (PSSession) na komputerze lokalnym lub zdalnym. Podczas tworzenia programu PSSession program PowerShell nawiązuje trwałe połączenie z komputerem zdalnym.

Użyj programu PSSession, aby uruchomić wiele poleceń, które udostępniają dane, takie jak funkcja lub wartość zmiennej. Aby uruchomić polecenia w programie PSSession, użyj Invoke-Command polecenia cmdlet . Aby użyć programu PSSession do bezpośredniej interakcji z komputerem zdalnym, użyj Enter-PSSession polecenia cmdlet . Aby uzyskać więcej informacji, zobacz about_PSSessions.

Polecenia można uruchamiać na komputerze zdalnym bez tworzenia psSession przy użyciu parametrów ComputerName parametrów Enter-PSSession lub Invoke-Command. Gdy używasz parametru ComputerName , program PowerShell tworzy tymczasowe połączenie, które jest używane dla polecenia, a następnie jest zamykane.

Przykłady

Przykład 1. Tworzenie sesji na komputerze lokalnym

$s = New-PSSession

To polecenie tworzy nową konsolę PSSession na komputerze lokalnym i zapisuje plik PSSession w zmiennej$s.

Teraz możesz użyć tej usługi PSSession do uruchamiania poleceń na komputerze lokalnym.

Przykład 2. Tworzenie sesji na komputerze zdalnym

$Server01 = New-PSSession -ComputerName Server01

To polecenie tworzy nową konsolę PSSession na komputerze Server01 i zapisuje je w zmiennej $Server01 .

Podczas tworzenia wielu obiektów PSSession przypisz je do zmiennych z przydatnymi nazwami. Pomoże to zarządzać obiektami PSSession w kolejnych poleceniach.

Przykład 3. Tworzenie sesji na wielu komputerach

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

To polecenie tworzy trzy obiekty PSSession , jeden na każdym z komputerów określonych przez parametr ComputerName .

Polecenie używa operatora przypisania (=) do przypisania nowych obiektów PSSession do zmiennych: $s1, , $s2$s3. Przypisuje serwer Server01 PSSession do $s1, server02 PSSession do $s2, i Server03 PSSession do $s3.

Po przypisaniu wielu obiektów do serii zmiennych program PowerShell przypisuje każdy obiekt odpowiednio do zmiennej w serii. Jeśli istnieje więcej obiektów niż zmienne, wszystkie pozostałe obiekty są przypisywane do ostatniej zmiennej. Jeśli istnieje więcej zmiennych niż obiekty, pozostałe zmienne są puste ($null).

Przykład 4. Tworzenie sesji przy użyciu określonego portu

New-PSSession -ComputerName Server01 -Port 8081 -UseSSL -ConfigurationName E12

To polecenie tworzy nową pssession na komputerze Server01, który łączy się z portem 8081 serwera i używa protokołu SSL. Nowa usługa PSSession używa alternatywnej konfiguracji sesji o nazwie E12.

Przed ustawieniem portu należy skonfigurować odbiornik WinRM na komputerze zdalnym do nasłuchiwania na porcie 8081. Aby uzyskać więcej informacji, zobacz opis parametru Port .

Przykład 5. Tworzenie sesji na podstawie istniejącej sesji

New-PSSession -Session $s -Credential Domain01\User01

To polecenie tworzy pssession z tymi samymi właściwościami co istniejąca usługa PSSession. Można użyć tego formatu polecenia, gdy zasoby istniejącego programu PSSession zostaną wyczerpane, a do odciążenia niektórych wymagań jest potrzebny nowy program PSSession .

Polecenie używa parametru Sesja parametru New-PSSession , aby określić psSession zapisane w zmiennej $s . Używa poświadczeń Domain1\Admin01 użytkownika do wykonania polecenia.

Przykład 6. Tworzenie sesji z zakresem globalnym w innej domenie

$global:s = New-PSSession -ComputerName Server1.Domain44.Corpnet.Fabrikam.com -Credential Domain01\Admin01

W tym przykładzie pokazano, jak utworzyć pssession z zakresem globalnym na komputerze w innej domenie.

Domyślnie obiekty PSSession utworzone w wierszu polecenia są tworzone z zakresem lokalnym, a obiekty PSSession utworzone w skrypicie mają zakres skryptu.

Aby utworzyć usługę PSSession z zakresem globalnym, utwórz nową usługę PSSession , a następnie zapisz plik PSSession w zmiennej rzutowania do zakresu globalnego. W tym przypadku zmienna $s jest rzutowy do zakresu globalnego.

Polecenie używa parametru ComputerName do określenia komputera zdalnego. Ponieważ komputer znajduje się w innej domenie niż konto użytkownika, pełna nazwa komputera jest określana wraz z poświadczeniami użytkownika.

Przykład 7. Tworzenie sesji dla wielu komputerów

$rs = Get-Content C:\Test\Servers.txt | New-PSSession -ThrottleLimit 50

To polecenie tworzy psSession na każdym z 200 komputerów wymienionych w Servers.txt pliku i przechowuje wynikową pssession w zmiennej$rs. Obiekty PSSession mają limit 50ograniczenia przepustowości .

Można użyć tego formatu polecenia, gdy nazwy komputerów są przechowywane w bazie danych, arkuszu kalkulacyjnym, pliku tekstowego lub innym formacie konwertowanym na tekst.

Przykład 8. Tworzenie sesji przy użyciu identyfikatora URI

$s = New-PSSession -URI http://Server01:91/NewSession -Credential Domain01\User01

To polecenie tworzy pssession na komputerze Server01 i przechowuje go w zmiennej $s . Używa parametru URI , aby określić protokół transportu, komputer zdalny, port i konfigurację sesji alternatywnej. Używa również parametru Credential do określenia konta użytkownika, które ma uprawnienia do tworzenia sesji na komputerze zdalnym.

Przykład 9. Uruchamianie zadania w tle w zestawie sesji

$s = New-PSSession -ComputerName (Get-Content Servers.txt) -Credential Domain01\Admin01 -ThrottleLimit 16
Invoke-Command -Session $s -ScriptBlock {Get-Process PowerShell} -AsJob

Te polecenia tworzą zestaw obiektów PSSession , a następnie uruchamiają zadanie w tle w każdym z obiektów PSSession .

Pierwsze polecenie tworzy nowe pssession na każdym z komputerów wymienionych w Servers.txt pliku. Używa New-PSSession polecenia cmdlet do utworzenia programu PSSession. Wartość parametru ComputerName jest poleceniem, które używa Get-Content polecenia cmdlet do pobrania listy komputerów nazw Servers.txt plików.

Polecenie używa parametru Credential do utworzenia obiektów PSSession , które mają uprawnienia administratora domeny, i używa parametru ThrottleLimit , aby ograniczyć polecenie do 16 współbieżnych połączeń. Polecenie zapisuje obiekty PSSession w zmiennej $s .

Drugie polecenie używa parametru Invoke-Command AsJob polecenia cmdlet, aby uruchomić zadanie w tle, które uruchamia Get-Process PowerShell polecenie w każdym obiekcie PSSession w systemie $s.

Aby uzyskać więcej informacji na temat zadań w tle programu PowerShell, zobacz about_Jobs i about_Remote_Jobs.

Przykład 10: Tworzenie sesji dla komputera przy użyciu jego identyfikatora URI

New-PSSession -ConnectionURI https://management.exchangelabs.com/Management

To polecenie tworzy obiekty PSSession , które łączą się z komputerem określonym przez identyfikator URI zamiast nazwy komputera.

Przykład 11. Tworzenie opcji sesji

$so = New-PSSessionOption -SkipCACheck
New-PSSession -ConnectionUri https://management.exchangelabs.com/Management -SessionOption $so -Credential Server01\Admin01

W tym przykładzie pokazano, jak utworzyć obiekt opcji sesji i użyć parametru SessionOption .

Pierwsze polecenie używa New-PSSessionOption polecenia cmdlet do utworzenia opcji sesji. Zapisuje wynikowy obiekt SessionOption w zmiennej $so .

Drugie polecenie używa opcji w nowej sesji. Polecenie używa New-PSSession polecenia cmdlet do utworzenia nowej sesji. Wartość parametru SessionOption to obiekt SessionOption w zmiennej$so.

Parametry

-AllowRedirection

Wskazuje, że to polecenie cmdlet umożliwia przekierowanie tego połączenia do alternatywnego identyfikatora URI (Uniform Resource Identifier).

Jeśli używasz parametru ConnectionURI , zdalne miejsce docelowe może zwrócić instrukcję, aby przekierować do innego identyfikatora URI. Domyślnie program PowerShell nie przekierowuje połączeń, ale można użyć tego parametru, aby umożliwić mu przekierowanie połączenia.

Możesz również ograniczyć liczbę przekierowań połączenia, zmieniając wartość opcji sesji MaximumConnectionRedirectionCount . Użyj parametru New-PSSessionOption MaximumRedirection polecenia cmdlet lub ustaw właściwość MaximumConnectionRedirectionCount zmiennej preferencji $PSSessionOption. Domyślna wartość to 5.

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

-ApplicationName

Określa segment nazwy aplikacji identyfikatora URI połączenia. Użyj tego parametru, aby określić nazwę aplikacji, jeśli nie używasz parametru ConnectionURI w poleceniu .

Wartość domyślna to wartość zmiennej $PSSessionApplicationName preferencji na komputerze lokalnym. Jeśli ta zmienna preferencji nie jest zdefiniowana, wartość domyślna to WSMAN. Ta wartość jest odpowiednia dla większości zastosowań. Aby uzyskać więcej informacji, zobacz about_Preference_Variables.

Usługa WinRM używa nazwy aplikacji, aby wybrać odbiornik do obsługi żądania połączenia. Wartość tego parametru powinna być zgodna z wartością właściwości URLPrefix odbiornika na komputerze zdalnym.

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

-Authentication

Określa mechanizm używany do uwierzytelniania poświadczeń użytkownika. 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.

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

-CertificateThumbprint

Określa cyfrowy certyfikat klucza publicznego (X509) konta użytkownika, które ma uprawnienia do wykonania tej akcji. Wprowadź odcisk palca certyfikatu.

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ć certyfikat, użyj Get-Item polecenia lub Get-ChildItem na dysku programu PowerShell Cert: .

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. To polecenie cmdlet tworzy trwałe połączenie (PSSession) z określonym komputerem. Jeśli wprowadzisz wiele nazw komputerów, New-PSSession utworzysz wiele obiektów PSSession , po jednym dla każdego komputera. Wartość domyślna to komputer lokalny.

Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny jednego lub kilku komputerów zdalnych. Aby określić komputer lokalny, wpisz nazwę komputera, localhostlub kropkę (.). Jeśli komputer znajduje się w innej domenie niż użytkownik, wymagana jest w pełni kwalifikowana nazwa domeny. Możesz również przekazać nazwę komputera w cudzysłowie do New-PSSession.

Aby użyć adresu IP w wartości parametru ComputerName , polecenie musi zawierać parametr Credential . Ponadto należy skonfigurować komputer pod kątem transportu HTTPS lub adres IP komputera zdalnego musi znajdować się na liście Zaufanych Hostów usługi WinRM na komputerze lokalnym. Aby uzyskać instrukcje dotyczące dodawania nazwy komputera do listy TrustedHosts, zobacz "How to Add a Computer to the Trusted Host List" (Jak dodać komputer do listy zaufanych hostów) w about_Remote_Troubleshooting.

Aby uwzględnić komputer lokalny w wartości parametru ComputerName , uruchom program Windows PowerShell przy użyciu opcji Uruchom jako administrator.

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

-ConfigurationName

Określa konfigurację sesji, która jest używana dla nowej sesji PSSession.

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.

Konfiguracja sesji dla sesji znajduje się na komputerze zdalnym. Jeśli określona konfiguracja sesji nie istnieje na komputerze zdalnym, polecenie zakończy się niepowodzeniem.

Wartość domyślna to wartość zmiennej $PSSessionConfigurationName preferencji na komputerze lokalnym. Jeśli ta zmienna preferencji nie jest ustawiona, wartość domyślna to Microsoft.PowerShell. Aby uzyskać więcej informacji, zobacz about_Preference_Variables.

Typ:String
Position:Named
Domyślna wartość:None
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. Identyfikator URI musi być w pełni kwalifikowany. Format tego ciągu jest następujący:

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

Wartość domyślna jest następująca:

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 .

Typ:Uri[]
Aliasy:URI, CU
Position:0
Domyślna wartość:None
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 konto użytkownika, które ma uprawnienia do wykonania tej akcji. 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?.

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

-EnableNetworkAccess

Wskazuje, że to polecenie cmdlet dodaje interakcyjny token zabezpieczający do sesji sprzężenia zwrotnego. Token interaktywny umożliwia uruchamianie poleceń w sesji sprzężenia zwrotnego, które pobierają dane z innych komputerów. Można na przykład uruchomić polecenie w sesji, która kopiuje pliki XML z komputera zdalnego do komputera lokalnego.

Sesja sprzężenia zwrotnego to sesja PSSession , która pochodzi i kończy się na tym samym komputerze. Aby utworzyć sesję sprzężenia zwrotnego, pomiń parametr ComputerName lub ustaw jego wartość na kropkę (.), localhostlub nazwę komputera lokalnego.

Domyślnie to polecenie cmdlet tworzy sesje sprzężenia zwrotnego przy użyciu tokenu sieciowego, co może nie zapewniać wystarczających uprawnień do uwierzytelniania na komputerach zdalnych.

Parametr EnableNetworkAccess jest skuteczny tylko w sesjach sprzężenia zwrotnego. Jeśli podczas tworzenia sesji na komputerze zdalnym używasz funkcji EnableNetworkAccess , polecenie zakończy się powodzeniem, ale parametr zostanie zignorowany.

Można również włączyć dostęp zdalny w sesji sprzężenia zwrotnego przy użyciu CredSSP wartości parametru uwierzytelniania , który deleguje poświadczenia sesji do innych komputerów.

Aby chronić komputer przed złośliwym dostępem, rozłączone sesje sprzężenia zwrotnego, które mają tokeny interakcyjne, które są tworzone przy użyciu parametru EnableNetworkAccess , można ponownie połączyć tylko z komputerem, na którym utworzono sesję. Rozłączone sesje korzystające z uwierzytelniania CredSSP można ponownie połączyć z innymi komputerami. Aby uzyskać więcej informacji, zobacz Disconnect-PSSession.

Ten parametr został wprowadzony w programie PowerShell 3.0.

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

-Name

Określa przyjazną nazwę pssession.

Możesz użyć nazwy , aby odwołać się do psSession podczas korzystania z innych poleceń cmdlet, takich jak Get-PSSession i Enter-PSSession. Nazwa nie musi być unikatowa dla komputera ani bieżącej sesji.

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

-Port

Określa port sieciowy na komputerze zdalnym używanym na potrzeby tego połączenia. 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 innego portu należy skonfigurować odbiornik WinRM na komputerze zdalnym do nasłuchiwania na tym porcie. Aby skonfigurować odbiornik, użyj następujących poleceń:

  1. winrm delete winrm/config/listener?Address=*+Transport=HTTP
  2. winrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}

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

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

-RunAsAdministrator

Wskazuje, że narzędzie PSSession działa jako administrator.

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

-Session

Określa tablicę obiektów PSSession używanych przez to polecenie cmdlet jako model dla nowej usługi PSSession. Ten parametr tworzy nowe obiekty PSSession , które mają te same właściwości co określone obiekty PSSession .

Wprowadź zmienną zawierającą obiekty PSSession lub polecenie, które tworzy lub pobiera obiekty PSSession , takie jak New-PSSession polecenie lub Get-PSSession .

Wynikowe obiekty PSSession mają taką samą nazwę komputera, nazwę aplikacji, identyfikator URI połączenia, port, nazwę konfiguracji, limit ograniczenia i wartość Protokołu SSL (Secure Sockets Layer) jako oryginały, ale mają inną nazwę wyświetlaną, identyfikator i identyfikator wystąpienia (GUID).

Typ:PSSession[]
Position:0
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
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, które zawierają 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

-ThrottleLimit

Określa maksymalną liczbę połączeń współbieżnych, które można ustanowić w celu uruchomienia tego 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.

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

-UseSSL

Wskazuje, że to polecenie cmdlet używa protokołu SSL do nawiązania połączenia z komputerem zdalnym. Domyślnie nie jest używane szyfrowanie SSL.

Usługa WS-Management szyfruje całą zawartość programu PowerShell przesyłaną przez sieć. Parametr UseSSL oferuje dodatkową ochronę, która wysyła dane za pośrednictwem połączenia HTTPS zamiast połączenia HTTP.

Jeśli używasz tego parametru, ale protokół SSL nie jest dostępny na porcie używanym dla polecenia, polecenie zakończy się niepowodzeniem.

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ę programu PowerShell Direct z każdą z określonych maszyn wirtualnych. Aby uzyskać więcej informacji, zobacz Virtual Machine automation and management using PowerShell (Automatyzacja maszyn wirtualnych i zarządzanie nimi przy użyciu programu PowerShell).

Użyj Get-VM polecenia , aby wyświetlić maszyny wirtualne dostępne na hoście funkcji Hyper-V.

Typ:Guid[]
Aliasy:VMGuid
Position:0
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ę programu PowerShell Direct z każdą z określonych maszyn wirtualnych. Aby uzyskać więcej informacji, zobacz Virtual Machine automation and management using PowerShell (Automatyzacja maszyn wirtualnych i zarządzanie nimi przy użyciu programu PowerShell).

Użyj Get-VM polecenia , aby wyświetlić maszyny wirtualne dostępne na hoście funkcji Hyper-V.

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

Dane wejściowe

String

Możesz przekazać ciąg do tego polecenia cmdlet.

System.URI

Możesz przekazać identyfikator URI do tego polecenia cmdlet.

PSSession

Do tego polecenia cmdlet można przekazać obiekt sesji.

Dane wyjściowe

PSSession

Uwagi

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

  • nsn

  • To polecenie cmdlet używa infrastruktury komunikacji zdalnej programu PowerShell. Aby użyć tego polecenia cmdlet, komputer lokalny i wszystkie komputery zdalne muszą być skonfigurowane do komunikacji zdalnej programu PowerShell. Aby uzyskać więcej informacji, zobacz about_Remote_Requirements.

  • Aby utworzyć program PSSession na komputerze lokalnym, uruchom program PowerShell z opcją Uruchom jako administrator .

  • Po zakończeniu pracy z programem PSSession użyj Remove-PSSession polecenia cmdlet , aby usunąć program PSSession i zwolnić jego zasoby.