about_Session_Configurations

Krótki opis

Opisuje konfiguracje sesji, które określają użytkowników, którzy mogą łączyć się z komputerem zdalnie i polecenia, które mogą uruchamiać.

Długi opis

Konfiguracja sesji, znana również jako "punkt końcowy" jest grupą ustawień na komputerze lokalnym, które definiują środowisko sesji programu PowerShell tworzonych, gdy użytkownicy zdalni lub lokalni łączą się z programem PowerShell na komputerze lokalnym.

Administratorzy komputera mogą używać konfiguracji sesji do ochrony komputera i definiowania środowisk niestandardowych dla użytkowników łączących się z komputerem.

Administratorzy mogą również używać konfiguracji sesji do określania uprawnień wymaganych do zdalnego łączenia się z komputerem. Domyślnie tylko członkowie grupy Administratorzy mają uprawnienia do zdalnego łączenia się z konfiguracją sesji, ale można zmienić ustawienia domyślne, aby zezwolić wszystkim użytkownikom lub wybranym użytkownikom na zdalne łączenie się z komputerem.

Począwszy od programu PowerShell 3.0, można użyć pliku konfiguracji sesji do zdefiniowania elementów konfiguracji sesji. Ta funkcja ułatwia dostosowywanie sesji bez pisania kodu i odnajdywania właściwości konfiguracji sesji. Aby utworzyć plik konfiguracji sesji, użyj polecenia cmdlet New-PSSessionConfiguration. Aby uzyskać więcej informacji na temat plików konfiguracji sesji, zobacz about_Session_Configuration_Files.

Konfiguracje sesji to funkcja komunikacji zdalnej programu PowerShell opartej na programie WSMAN. Są one używane tylko wtedy, gdy używasz New-PSSessionpoleceń cmdlet , Invoke-Commandlub Enter-PSSession do nawiązywania połączenia z komputerem zdalnym z systemem Windows.

Aby zarządzać konfiguracjami sesji na komputerze z systemem Windows, uruchom program PowerShell z opcją Uruchom jako administrator .

Informacje o konfiguracjach sesji

Każda sesja programu PowerShell używa konfiguracji sesji. Obejmuje to sesje trwałe tworzone przy użyciu poleceń cmdlet New-PSSession lub Enter-PSSession oraz sesje tymczasowe tworzone przez program PowerShell podczas korzystania z parametru ComputerName polecenia cmdlet korzystającego z technologii komunikacji zdalnej opartej na usłudze WS-Management, takiej jak Invoke-Command.

Administratorzy mogą używać konfiguracji sesji do ochrony zasobów komputera i tworzenia środowisk niestandardowych dla użytkowników łączących się z komputerem. Na przykład można użyć konfiguracji sesji, aby ograniczyć rozmiar obiektów odbieranych przez komputer w sesji, zdefiniować tryb językowy sesji oraz określić polecenia cmdlet, dostawców i funkcje, które są dostępne w sesji.

Konfigurując deskryptor zabezpieczeń konfiguracji sesji, można określić, kto może używać konfiguracji sesji do łączenia się z komputerem. Użytkownicy muszą mieć uprawnienie Wykonywanie do konfiguracji sesji, aby można było jej używać w sesji. Jeśli użytkownik nie ma wymaganych uprawnień do korzystania z żadnej konfiguracji sesji na komputerze, użytkownik nie może połączyć się z komputerem zdalnie.

Domyślnie tylko administratorzy komputera mają uprawnienia do korzystania z domyślnych konfiguracji sesji. Można jednak zmienić deskryptory zabezpieczeń, aby zezwalać wszystkim, nikomu ani tylko wybranym użytkownikom na korzystanie z konfiguracji sesji na komputerze.

Wbudowane konfiguracje sesji

Program PowerShell 3.0 zawiera wbudowane konfiguracje sesji o nazwach Microsoft.PowerShell i Microsoft.PowerShell.Workflow. Na komputerach z 64-bitowymi wersjami systemu Windows program PowerShell udostępnia również program Microsoft.PowerShell32 — konfigurację sesji 32-bitowej.

Konfiguracja sesji Microsoft.PowerShell jest używana domyślnie dla sesji, czyli gdy polecenie do utworzenia sesji nie zawiera parametru ConfigurationName polecenia New-PSSession, Enter-PSSession lub Invoke-Command polecenia cmdlet.

Deskryptory zabezpieczeń dla domyślnych konfiguracji sesji zezwalają na korzystanie z nich tylko członkom grupy Administratorzy na komputerze lokalnym. W związku z tym tylko członkowie grupy Administratorzy mogą łączyć się z komputerem zdalnie, chyba że zmienisz ustawienia domyślne.

Domyślne konfiguracje sesji można zmienić przy użyciu zmiennej preferencji $PSSessionConfigurationName. Aby uzyskać więcej informacji, zobacz about_Preference_Variables.

Wyświetlanie konfiguracji sesji na komputerze lokalnym

Aby uzyskać konfiguracje sesji na komputerze lokalnym, użyj polecenia cmdlet Get-PSSessionConfiguration.

Na przykład wpisz:

PS C:> Get-PSSessionConfiguration | Format-List -Property Name, Permission

Name       : microsoft.powershell
Permission : BUILTIN\Administrators AccessAllowed

Name       : microsoft.powershell.workflow
Permission : BUILTIN\Administrators AccessAllowed

Name       : microsoft.powershell32
Permission : BUILTIN\Administrators AccessAllowed

Obiekt konfiguracji sesji jest rozwinięty w programie PowerShell 3.0, aby wyświetlić właściwości konfiguracji sesji skonfigurowane przy użyciu pliku konfiguracji sesji.

Aby na przykład wyświetlić wszystkie właściwości obiektu konfiguracji sesji, wpisz:

PS C:> Get-PSSessionConfiguration | Format-List -Property *

Możesz również użyć dostawcy WSMan w programie PowerShell, aby wyświetlić konfiguracje sesji. Dostawca WSMan tworzy dysk WSMAN: w sesji.

W programie WSMAN: dysk konfiguracje sesji znajdują się w węźle Wtyczka. (Wszystkie konfiguracje sesji znajdują się w węźle Wtyczka, ale w węźle wtyczki znajdują się elementy, które nie są konfiguracjami sesji).

Aby na przykład wyświetlić konfiguracje sesji na komputerze lokalnym, wpisz:

PS C:> dir wsman:\localhost\plugin\microsoft*

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Type       Keys                              Name
----       ----                              ----
Container  {Name=microsoft.powershell}       microsoft.powershell
Container  {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container  {Name=microsoft.powershell32}     microsoft.powershell32

Wyświetlanie konfiguracji sesji na komputerze zdalnym

Aby wyświetlić konfiguracje sesji na komputerze zdalnym, użyj polecenia cmdlet Connect-WSMan, aby dodać uwagę dla komputera zdalnego do programu WSMAN: dysk na komputerze lokalnym, a następnie użyj dysku WSMAN: dysk, aby wyświetlić konfiguracje sesji.

Na przykład następujące polecenie dodaje węzeł dla komputera zdalnego Server01 do programu WSMAN: dysk na komputerze lokalnym.

PS C:> Connect-WSMan server01.corp.fabrikam.com

Po zakończeniu wykonywania polecenia można przejść do węzła komputera Server01, aby wyświetlić konfiguracje sesji.

Na przykład:

PS C:> cd wsman:

PS WSMan:> dir

ComputerName                                  Type
------------                                  ----
localhost                                     Container
server01.corp.fabrikam.com                    Container

PS WSMan:> dir server01\plugin\

WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Pl
ugin

Type       Keys                              Name
----       ----                              ----
Container  {Name=microsoft.powershell}       microsoft.powershell
Container  {Name=microsoft.powershell.wor... microsoft.powershell.workflow
Container  {Name=microsoft.powershell32}     microsoft.powershell32

Zmienianie deskryptora zabezpieczeń konfiguracji sesji

W Windows Server 2012 i nowszych wersjach systemu Windows Server wbudowane konfiguracje sesji są domyślnie włączone dla użytkowników zdalnych. W innych obsługiwanych wersjach systemu Windows należy zmienić deskryptory zabezpieczeń konfiguracji sesji, aby zezwolić na dostęp zdalny.

Aby włączyć zdalny dostęp do konfiguracji sesji na komputerze, użyj polecenia cmdlet Enable-PSRemoting. To polecenie cmdlet tworzy dwie konfiguracje sesji:

  • z nazwą zdefiniowaną jako "PowerShell"." + "bieżąca wersja programu PowerShell"
  • o nazwie "PowerShell.6", co nie jest powiązane z dowolną określoną wersją programu PowerShell.

Ponadto domyślnie tylko członkowie grupy Administratorzy na komputerze mają uprawnienia Wykonaj do domyślnych konfiguracji sesji, ale można zmienić deskryptory zabezpieczeń w domyślnych konfiguracjach sesji i na wszystkich utworzonych konfiguracjach sesji.

Aby udzielić innym użytkownikom uprawnień do zdalnego łączenia się z komputerem, użyj polecenia cmdlet Set-PSSessionConfiguration, aby dodać uprawnienia "Wykonaj" dla tych użytkowników do deskryptorów zabezpieczeń konfiguracji sesji Microsoft.PowerShell i Microsoft.PowerShell32.

Na przykład następujące polecenie otwiera stronę właściwości, która umożliwia zmianę deskryptora zabezpieczeń dla domyślnej konfiguracji sesji programu Microsoft.PowerShell.

Set-PSSessionConfiguration -name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Aby odmówić wszystkim uprawnień do wszystkich konfiguracji sesji na komputerze, użyj polecenia cmdlet Disable-PSSessionConfiguration. Na przykład następujące polecenie wyłącza domyślne konfiguracje sesji na komputerze.

PS C:> Disable-PSSessionConfiguration -Name Microsoft.PowerShell

Aby uniemożliwić użytkownikom zdalnym łączenie się z komputerem, ale zezwolić użytkownikom lokalnym na łączenie, użyj polecenia cmdlet Disable-PSRemoting. Disable-PSRemoting dodaje wpis "Network_Deny_All" do wszystkich konfiguracji sesji na komputerze.

PS C:> Disable-PSRemoting

Aby umożliwić użytkownikom zdalnym korzystanie ze wszystkich konfiguracji sesji na komputerze, użyj polecenia cmdlet Enable-PSRemoting lub Enable-PSSessionConfiguration. Na przykład następujące polecenie umożliwia zdalny dostęp do wbudowanych konfiguracji sesji.

PS C:> Enable-PSSessionConfiguration -name Microsoft.Power*

Aby wprowadzić inne zmiany w deskryptorze zabezpieczeń konfiguracji sesji, użyj polecenia cmdlet Set-PSSessionConfiguration. Użyj parametru SecurityDescriptorSDDL, aby przesłać wartość ciągu SDDL. Użyj parametru ShowSecurityDescriptorUI, aby wyświetlić arkusz właściwości interfejsu użytkownika, który pomaga utworzyć nowy język SDDL.

Na przykład:

Set-PSSessionConfiguration -Name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Tworzenie nowej konfiguracji sesji

Aby utworzyć nową konfigurację sesji na komputerze lokalnym, użyj polecenia cmdlet Register-PSSessionConfiguration. Aby zdefiniować nową konfigurację sesji, można użyć zestawu języka C#, skryptu programu PowerShell i parametrów polecenia cmdlet Register-PSSessionConfiguration.

Na przykład następujące polecenie tworzy konfigurację sesji, która jest identyczna z konfiguracją sesji Microsoft.PowerShell, z tą różnicą, że ogranicza dane odebrane z polecenia zdalnego do 20 megabajtów (MB). (Wartość domyślna to 50 MB).

Register-PSSessionConfiguration -Name NewConfig `
  -MaximumReceivedDataSizePerCommandMB 20

Podczas tworzenia konfiguracji sesji można zarządzać nią za pomocą innych poleceń cmdlet konfiguracji sesji i pojawia się w programie WSMAN: dysk.

Aby uzyskać więcej informacji, zobacz Register-PSSessionConfiguration.

Usuwanie konfiguracji sesji

Aby usunąć konfigurację sesji z komputera lokalnego, użyj polecenia cmdlet Unregister-PSSessionConfiguration. Na przykład następujące polecenie usuwa konfigurację sesji NewConfig z komputera.

PS C:> Unregister-PSSessionConfiguration -Name NewConfig

Aby uzyskać więcej informacji, zobacz Unregister-PSSessionConfiguration.

Przywracanie konfiguracji sesji

Aby przywrócić domyślną konfigurację sesji, która została przypadkowo usunięta (wyrejestrowana), użyj polecenia cmdlet Enable-PSRemoting.

Polecenie cmdlet Enable-PSRemoting odtwarza wszystkie konfiguracje sesji domyślnych, które nie istnieją na komputerze. Nie zastępuje ani nie zmienia wartości właściwości istniejących konfiguracji sesji.

Aby przywrócić oryginalne wartości właściwości domyślnej konfiguracji sesji, użyj Unregister-PSSessionConfiguration, aby usunąć konfigurację sesji, a następnie użyj polecenia cmdlet Enable-PSRemoting, aby go ponownie utworzyć.

Wybieranie konfiguracji sesji

Aby wybrać określoną konfigurację sesji dla sesji, użyj parametru ConfigurationName polecenia New-PSSession, Enter-PSSession lub Invoke-Command.

Na przykład to polecenie używa polecenia cmdlet New-PSSession do uruchomienia pssession na komputerze Server01. Polecenie używa parametru ConfigurationName, aby wybrać konfigurację WithProfile na komputerze Server01.

PS C:> New-PSSession -ComputerName Server01 -ConfigurationName WithProfile

To polecenie powiedzie się tylko wtedy, gdy bieżący użytkownik ma uprawnienia do korzystania z konfiguracji sesji WithProfile lub może podać poświadczenia użytkownika, który ma wymagane uprawnienia.

Można również użyć zmiennej preferencji $PSSessionConfigurationName, aby zmienić domyślną konfigurację sesji na komputerze. Aby uzyskać więcej informacji na temat zmiennej preferencji $PSSessionConfigurationName, zobacz about_Preference_Variables.

SŁOWA KLUCZOWE

about_Endpoints about_SessionConfigurations

Zobacz też