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, które są tworzone, gdy zdalni lub lokalni użytkownicy łą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, którzy łączą 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 używania konfiguracji sesji do zdalnego łączenia, 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 są funkcją komunikacji zdalnej programu PowerShell opartej na programie WSMAN. Są one używane tylko wtedy, gdy używasz New-PSSession
poleceń cmdlet , Invoke-Command
lub 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 z opcją Uruchom jako administrator .
Informacje o konfiguracjach sesji
Każda sesja programu PowerShell używa konfiguracji sesji. Dotyczy to sesji trwałych tworzonych przy użyciu poleceń cmdlet New-PSSession lub Enter-PSSession oraz sesji tymczasowych tworzonych 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, 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, zdefiniować tryb językowy sesji oraz określić polecenia cmdlet, dostawcy 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 z niej korzystać 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 używanie 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 Programu 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.
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.
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 rozszerzany 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: dyski 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żyj programu 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 dla 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 systemie 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"." + "current PowerShell version" (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 nawiązywania połączenia 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 nawiązywanie połączenia z komputerem, ale zezwalaj użytkownikom lokalnym na łączenie, użyj polecenia cmdlet Disable-PSRemoting. Polecenie 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 ułatwia utworzenie nowego standardu 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ą przy użyciu innych poleceń cmdlet konfiguracji sesji i wyświetlanych na dysku WSMAN: .
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 ponownie utworzy 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 polecenia cmdlet 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 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ż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ż
- about_Preference_Variables
- about_PSSessions
- about_Remote
- about_Session_Configuration_Files
- New-PSSession
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Unregister-PSSessionConfiguration
- New-PSSessionConfigurationFile
- Test-PSSessionConfigurationFile