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", to grupa ustawień na komputerze lokalnym, które definiują środowisko sesji programu PowerShell, które są tworzone, gdy użytkownicy zdalni lub lokalni nawiązują połączenie z programem PowerShell na komputerze lokalnym.

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

Administratorzy mogą również używać konfiguracji sesji, aby określić uprawnienia wymagane do zdalnego nawiązania połączenia z komputerem. Domyślnie tylko członkowie grupy Administratorzy mają uprawnienia do korzystania z konfiguracji sesji w celu zdalnego łączenia się, 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 zdalnym komputerem z systemem Windows.

Aby zarządzać konfiguracjami sesji na komputerze z systemem Windows, uruchom program PowerShell przy użyciu opcji 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, a sesje tymczasowe tworzone przez program PowerShell podczas korzystania z parametru ComputerName polecenia cmdlet korzystającego z technologii komunikacji zdalnej opartej na usłudze WS, takiej jak Invoke-Command.

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

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

Domyślnie tylko administratorzy komputera mają uprawnienia do korzystania z domyślnych konfiguracji sesji. Można jednak zmienić deskryptory zabezpieczeń, aby umożliwić wszystkim, nikomu lub tylko wybranym użytkownikom 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ż konfigurację sesji 32-bitowej Microsoft.PowerShell32.

Konfiguracja sesji Microsoft.PowerShell jest domyślnie używana 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 umożliwiają 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.

Konfiguracje sesji domyślnej 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 rozszerzony 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.

Na dysku WSMAN: konfiguracje sesji znajdują się w węźle Wtyczka. (Wszystkie konfiguracje sesji znajdują się w węźle Wtyczka, ale istnieją elementy w węźle Wtyczka, 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ć notatkę dla komputera zdalnego do programu WSMAN: dysk na komputerze lokalnym, a następnie użyć dysku WSMAN: dysku, 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.

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:

  • o nazwie zdefiniowanej 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 zezwolić innym użytkownikom na zdalne łączenie się z komputerem, użyj polecenia cmdlet Set-PSSessionConfiguration, aby dodać uprawnienia "Execute" 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 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 nawiązywanie połączenia z komputerem, ale zezwalaj użytkownikom lokalnym na nawiązywanie połączenia, 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 używanie 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 ułatwia utworzenie nowego zestawu SDDL.

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ą przy użyciu innych poleceń cmdlet konfiguracji sesji i pojawia się na dysku 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 konfiguracji sesji domyślnej, użyj Unregister-PSSessionConfiguration, aby usunąć konfigurację sesji, a następnie użyć 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 programu 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żesz 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ż