Informacje o konfiguracjach sesjiAbout Session Configurations

KRÓTKI OPISSHORT DESCRIPTION

Opisuje konfiguracje sesji, które określają użytkowników, którzy mogą zdalnie łączyć się z komputerem i poleceniami, które mogą być uruchamiane.Describes session configurations, which determine the users who can connect to the computer remotely and the commands they can run.

DŁUGI OPISLONG DESCRIPTION

Konfiguracja sesji, znana również jako "punkt końcowy" to grupa ustawień na komputerze lokalnym, która definiuje środowisko dla sesji programu PowerShell, które są tworzone, gdy zdalni lub lokalni użytkownicy łączą się z programem PowerShell na komputerze lokalnym.A session configuration, also known as an "endpoint" is a group of settings on the local computer that define the environment for the PowerShell sessions that are created when remote or local users connect to PowerShell on the local computer.

Administratorzy komputera mogą korzystać z konfiguracji sesji programu w celu ochrony komputera i definiowania niestandardowych środowisk dla użytkowników, którzy łączą się z komputerem.Administrators of the computer can use session configurations to protect the computer and to define custom environments for users who connect to the computer.

Administratorzy mogą również użyć konfiguracji sesji, aby określić uprawnienia, które są wymagane do zdalnego połączenia z komputerem.Administrators can also use session configurations to determine the permissions that are required to connect to the computer remotely. Domyślnie tylko członkowie grupy Administratorzy mają uprawnienia do korzystania z konfiguracji sesji w celu zdalnego nawiązywania połączenia, ale można zmienić ustawienia domyślne, aby umożliwić wszystkim użytkownikom lub wybranym użytkownikom zdalne łączenie się z komputerem.By default, only members of the Administrators group have permission to use the session configuration to connect remotely, but you can change the default settings to allow all users, or selected users, to connect remotely to your computer.

Począwszy od programu PowerShell 3,0, można użyć pliku konfiguracji sesji w celu zdefiniowania elementów konfiguracji sesji.Beginning in PowerShell 3.0, you can use a session configuration file to define the elements of a session configuration. Ta funkcja ułatwia dostosowywanie sesji bez pisania kodu i odnajdywania właściwości konfiguracji sesji.This feature makes it easy to customize sessions without writing code and to discover the properties of a session configuration. Aby utworzyć plik konfiguracji sesji, należy użyć polecenia cmdlet New-PSSessionConfiguration.To create a session configuration file, use the New-PSSessionConfiguration cmdlet. Aby uzyskać więcej informacji na temat plików konfiguracji sesji, zobacz about_Session_Configuration_Files.For more information about session configuration files, see about_Session_Configuration_Files.

Konfiguracje sesji to funkcja usług sieci Web do zarządzania (WS-Management) oparta na komunikacji zdalnej programu PowerShell.Session configurations are a feature of Web Services for Management (WS-Management) based PowerShell remoting. Są one używane tylko w przypadku korzystania z poleceń cmdlet New-PSSession, Invoke-Command lub Enter-PSSession w celu nawiązania połączenia z komputerem zdalnym.They are used only when you use the New-PSSession, Invoke-Command, or Enter-PSSession cmdlets to connect to a remote computer.

Uwaga: Aby zarządzać konfiguracjami sesji, uruchom program PowerShell z opcją "Uruchom jako administrator".Note: To manage the session configurations, start PowerShell with the "Run as administrator" option.

Informacje o konfiguracjach sesjiAbout Session Configurations

Każda sesja programu PowerShell używa konfiguracji sesji.Every PowerShell session uses a session configuration. Obejmuje to trwałych sesji utworzonych przy użyciu poleceń cmdlet New-PSSession lub Enter-PSSession oraz sesji tymczasowych, które program PowerShell tworzy w przypadku używania parametru ComputerName polecenia cmdlet, który korzysta z technologii komunikacji zdalnej opartej na usłudze WS-Management, takiej jak Invoke-Command.This includes persistent sessions that you create by using the New-PSSession or Enter-PSSession cmdlets, and the temporary sessions that PowerShell creates when you use the ComputerName parameter of a cmdlet that uses WS-Management-based remoting technology, such as 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.Administrators can use session configurations to protect the resources of the computer and to create custom environments for users who connect to the computer. Na przykład można użyć konfiguracji sesji w celu ograniczenia rozmiaru obiektów odbieranych przez komputer w sesji, definiowania trybu języka sesji oraz do określania poleceń cmdlet, dostawców i funkcji dostępnych w sesji.For example, you can use a session configuration to limit the size of objects that the computer receives in the session, to define the language mode of the session, and to specify the cmdlets, providers, and functions that are available in the session.

Konfigurując deskryptor zabezpieczeń konfiguracji sesji, można określić, kto może korzystać z konfiguracji sesji w celu nawiązania połączenia z komputerem.By configuring the security descriptor of a session configuration, you determine who can use the session configuration to connect to the computer. Użytkownicy muszą mieć uprawnienie EXECUTE do konfiguracji sesji w celu użycia jej w sesji.Users must have Execute permission to a session configuration to use it in a session. Jeśli użytkownik nie ma wymaganych uprawnień do korzystania z konfiguracji sesji na komputerze, użytkownik nie może nawiązać zdalnego połączenia z komputerem.If a user does not have the required permissions to use any of the session configurations on a computer, the user cannot connect to the computer remotely.

Domyślnie tylko Administratorzy komputera mają uprawnienia do korzystania z domyślnych konfiguracji sesji.By default, only Administrators of the computer have permission to use the default session configurations. Można jednak zmienić deskryptory zabezpieczeń, aby zezwolić wszystkim, nie tylko wybranym użytkownikom na korzystanie z konfiguracji sesji na komputerze.But, you can change the security descriptors to allow everyone, no one, or only selected users to use the session configurations on your computer.

Wbudowane konfiguracje sesjiBuilt-in Session Configurations

Program PowerShell 3,0 zawiera wbudowane konfiguracje sesji o nazwie Microsoft. PowerShell i Microsoft. PowerShell. Workflow.PowerShell 3.0 includes built-in session configurations named Microsoft.PowerShell and Microsoft.PowerShell.Workflow. Na komputerach z 64-bitowymi wersjami systemu Windows program PowerShell udostępnia również konfigurację sesji Microsoft. PowerShell32, 32-bitową.On computers running 64-bit versions of Windows, PowerShell also provides Microsoft.PowerShell32, a 32-bit session configuration.

Konfiguracja sesji programu Microsoft. PowerShell jest używana domyślnie dla sesji, czyli gdy polecenie tworzenia sesji nie obejmuje parametru ConfigurationName polecenia cmdlet New-PSSession, ENTER-PSSession lub Invoke-Command.The Microsoft.PowerShell session configuration is used for sessions by default, that is, when a command to create a session does not include the ConfigurationName parameter of the New-PSSession, Enter-PSSession, or Invoke-Command cmdlet.

Deskryptory zabezpieczeń dla domyślnych konfiguracji sesji umożliwiają korzystanie z nich tylko członkom grupy Administratorzy na komputerze lokalnym.The security descriptors for the default session configurations allow only members of the Administrators group on the local computer to use them. W związku z tym tylko członkowie grupy Administratorzy mogą łączyć się zdalnie z komputerem, chyba że zmienisz ustawienia domyślne.As such, only members of the Administrators group can connect to the computer remotely unless you change the default settings.

Domyślną konfigurację sesji można zmienić przy użyciu zmiennej preferencji $PSSessionConfigurationName.You can change the default session configurations by using the $PSSessionConfigurationName preference variable. Aby uzyskać więcej informacji, zobacz about_Preference_Variables.For more information, see about_Preference_Variables.

Wyświetlanie konfiguracji sesji na komputerze lokalnymViewing Session Configurations on the Local Computer

Aby pobrać konfiguracje sesji na komputerze lokalnym, należy użyć polecenia cmdlet Get-PSSessionConfiguration.To get the session configurations on your local computer, use the Get-PSSessionConfiguration cmdlet.

Na przykład wpisz:For example, type:

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.The session configuration object is expanded in PowerShell 3.0 to display the properties of the session configuration that are configured by using a session configuration file.

Na przykład aby wyświetlić wszystkie właściwości obiektu konfiguracji sesji, wpisz:For example, to see all of the properties of a session configuration object, type:

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

Do wyświetlania konfiguracji sesji można także użyć dostawcy usługi WSMan w programie PowerShell.You can also use the WSMan provider in PowerShell to view session configurations. Dostawca usługi WSMan tworzy dysk usługi WSMAN: w sesji.The WSMan provider creates a WSMAN: drive in your session.

Na dysku usługi WSMAN: konfiguracje sesji znajdują się w węźle wtyczki.In the WSMAN: drive, session configurations are in the Plugin node. (Wszystkie konfiguracje sesji znajdują się w węźle wtyczka, ale istnieją elementy w węźle wtyczki, które nie są konfiguracjami sesji).(All session configurations are in the Plugin node, but there are items in the Plugin node that are not session configurations.)

Aby na przykład wyświetlić konfiguracje sesji na komputerze lokalnym, wpisz:For example, to view the session configurations on the local computer, type:

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 zdalnymViewing Session Configurations on a Remote Computer

Aby wyświetlić konfiguracje sesji na komputerze zdalnym, należy użyć polecenia cmdlet Connect-WSMan, aby dodać uwagi do komputera zdalnego do usługi WSMAN: dysk na komputerze lokalnym, a następnie użyć dysku WSMAN:, aby wyświetlić konfiguracje sesji.To view the session configurations on a remote computer, use the Connect-WSMan cmdlet to add a note for the remote computer to the WSMAN: drive on your local computer, and then use the WSMAN: drive to view the session configurations.

Na przykład następujące polecenie dodaje węzeł komputera zdalnego Serwer01 do dysku WSMAN: na komputerze lokalnym.For example, the following command adds a node for the Server01 remote computer to the WSMAN: drive on the local computer.

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

Po zakończeniu wykonywania polecenia można przejść do węzła komputera Serwer01, aby wyświetlić konfiguracje sesji.When the command is complete, you can navigate to the node for the Server01 computer to view the session configurations.

Przykład:For example:

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

Zmiana deskryptora zabezpieczeń konfiguracji sesjiChanging the Security Descriptor of a Session Configuration

W systemie Windows Server 2012 i nowszych wersjach systemu Windows Server wbudowane konfiguracje sesji są domyślnie włączone dla użytkowników zdalnych.In Windows Server 2012 and newer releases of Windows Server, the built-in session configurations are enabled for remote users by default. W innych obsługiwanych wersjach systemu Windows należy zmienić deskryptory zabezpieczeń konfiguracji sesji w taki sposób, aby zezwalały na dostęp zdalny.In other supported versions of Windows, you must change the security descriptors of the session configurations to allow remote access.

Aby włączyć dostęp zdalny do konfiguracji sesji na komputerze, użyj polecenia cmdlet Enable-PSRemoting.To enable remote access to the session configurations on the computer, use the Enable-PSRemoting cmdlet. To polecenie cmdlet tworzy dwie konfiguracje sesji:This cmdlet creates two session configurations:

  • o nazwie zdefiniowanej jako: "PowerShell".with the name defined as: "PowerShell." + "Bieżąca wersja programu PowerShell"+ "current PowerShell version"
  • o nazwie "PowerShell. 6", bez wiązania z żadną określoną wersją programu PowerShell.with name "PowerShell.6", untied to any specific PowerShell version.

Ponadto domyślnie tylko członkowie grupy Administratorzy na komputerze mają uprawnienia do wykonywania domyślnych konfiguracji sesji, ale można zmienić deskryptory zabezpieczeń w domyślnych konfiguracjach sesji i na wszystkich tworzonych konfiguracjach sesji.Also, by default, only members of the Administrators group on the computer have Execute permission to the default session configurations, but you can change the security descriptors on the default session configurations and on any session configurations that you create.

Aby dać innym użytkownikom uprawnienia do zdalnego nawiązywania połączenia z komputerem, użyj polecenia cmdlet Set-PSSessionConfiguration, aby dodać uprawnienia "Execute" dla tych użytkowników do deskryptorów zabezpieczeń w konfiguracjach sesji Microsoft. PowerShell i Microsoft. PowerShell32.To give other users permission to connect to the computer remotely, use the Set-PSSessionConfiguration cmdlet to add "Execute" permissions for those users to the security descriptors of the Microsoft.PowerShell and Microsoft.PowerShell32 session configurations.

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.For example, the following command opens a property page that lets you change the security descriptor for the Microsoft.PowerShell default session configuration.

Set-PSSessionConfiguration -name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Aby odmówić wszystkim uprawnienia do wszystkich konfiguracji sesji na komputerze, użyj polecenia cmdlet Disable-PSSessionConfiguration.To deny everyone permission to all the session configurations on the computer, use the Disable-PSSessionConfiguration cmdlet. Na przykład następujące polecenie wyłącza domyślne konfiguracje sesji na komputerze.For example, the following command disables the default session configurations on the computer.

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

Aby uniemożliwić użytkownikom zdalnym łączenie się z komputerem, ale zezwolić użytkownikom lokalnym na łączenie się, użyj polecenia cmdlet Disable-PSRemoting.To prevent remote users from connecting to the computer, but allow local users to connect, use the Disable-PSRemoting cmdlet. Disable-PSRemoting dodaje wpis "Network_Deny_All" do wszystkich konfiguracji sesji na komputerze.Disable-PSRemoting adds a "Network_Deny_All" entry to all session configurations on the computer.

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.To allow remote users to use all session configurations on the computer, use the Enable-PSRemoting or Enable-PSSessionConfiguration cmdlet. Na przykład następujące polecenie umożliwia zdalny dostęp do wbudowanych konfiguracji sesji.For example, the following command enables remote access to the built-in session configurations.

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

Aby wprowadzić inne zmiany w deskryptorze zabezpieczeń konfiguracji sesji, należy użyć polecenia cmdlet Set-PSSessionConfiguration.To make other changes to the security descriptor of a session configuration, use the Set-PSSessionConfiguration cmdlet. Aby przesłać wartość ciągu SDDL, użyj parametru SecurityDescriptorSDDL.Use the SecurityDescriptorSDDL parameter to submit an SDDL string value. Użyj parametru ShowSecurityDescriptorUI, aby wyświetlić arkusz właściwości interfejsu użytkownika, który pomaga utworzyć nowy język SDDL.Use the ShowSecurityDescriptorUI parameter to display a user interface property sheet that helps you to create a new SDDL.

Przykład:For example:

Set-PSSessionConfiguration -Name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Tworzenie nowej konfiguracji sesjiCreating a New Session Configuration

Aby utworzyć nową konfigurację sesji na komputerze lokalnym, użyj polecenia cmdlet Register-PSSessionConfiguration.To create a new session configuration on the local computer, use the Register-PSSessionConfiguration cmdlet. Aby zdefiniować nową konfigurację sesji, można użyć zestawu języka C#, skryptu programu PowerShell i parametrów polecenia cmdlet Register-PSSessionConfiguration.To define the new session configuration, you can use a C# assembly, a PowerShell script, and the parameters of the Register-PSSessionConfiguration cmdlet.

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).For example, the following command creates a session configuration that is identical the Microsoft.PowerShell session configuration, except that it limits the data received from a remote command to 20 megabytes (MB). (Wartość domyślna to 50 MB).(The default is 50 MB).

Register-PSSessionConfiguration -Name NewConfig `
  -MaximumReceivedDataSizePerCommandMB 20

Podczas tworzenia konfiguracji sesji można nią zarządzać przy użyciu innych poleceń cmdlet konfiguracji sesji i pojawia się na dysku WSMAN:.When you create a session configuration, you can manage it by using the other session configuration cmdlets, and it appears in the WSMAN: drive.

Aby uzyskać więcej informacji, zobacz temat Register-PSSessionConfiguration.For more information, see Register-PSSessionConfiguration.

Usuwanie konfiguracji sesjiRemoving a Session Configuration

Aby usunąć konfigurację sesji z komputera lokalnego, należy użyć polecenia cmdlet Unregister-PSSessionConfiguration.To remove a session configuration from the local computer, use the Unregister-PSSessionConfiguration cmdlet. Na przykład następujące polecenie usuwa konfigurację sesji NewConfig z komputera.For example, the following command removes the NewConfig session configuration from the computer.

PS C:> Unregister-PSSessionConfiguration -Name NewConfig

Aby uzyskać więcej informacji, zobacz Unregister-PSSessionConfiguration.For more information, see Unregister-PSSessionConfiguration.

Przywracanie konfiguracji sesjiRestoring a Session Configuration

Aby przywrócić domyślną konfigurację sesji, która została usunięta (niezarejestrowana), użyj polecenia cmdlet Enable-PSRemoting.To restore a default session configuration that was deleted (unregistered) accidentally, use the Enable-PSRemoting cmdlet.

Polecenie cmdlet Enable-PSRemoting ponownie tworzy wszystkie domyślne konfiguracje sesji, które nie istnieją na komputerze.The Enable-PSRemoting cmdlet recreates all default sessions configurations that do not exist on the computer. Nie zastępuje ani nie zmienia wartości właściwości istniejących konfiguracji sesji.It does not overwrite or change the property values of existing session configurations.

Aby przywrócić oryginalne wartości właściwości domyślnej konfiguracji sesji, użyj Unregister-PSSessionConfiguration do usunięcia konfiguracji sesji, a następnie użyj polecenia cmdlet Enable-PSRemoting, aby utworzyć go ponownie.To restore the original property values of a default session configuration, use the Unregister-PSSessionConfiguration to delete the session configuration and then use the Enable-PSRemoting cmdlet to recreate it.

Wybieranie konfiguracji sesjiSelecting a Session Configuration

Aby wybrać określoną konfigurację sesji dla sesji, użyj parametru ConfigurationName polecenia New-PSSession, ENTER-PSSession lub Invoke-Command.To select a particular session configuration for a session, use the ConfigurationName parameter of New-PSSession, Enter-PSSession, or Invoke-Command.

Na przykład to polecenie używa polecenia cmdlet New-PSSession, aby uruchomić PSSession na komputerze Serwer01.For example, this command uses the New-PSSession cmdlet to start a PSSession on the Server01 computer. Polecenie używa parametru ConfigurationName, aby wybrać konfigurację WithProfile na komputerze Serwer01.The command uses the ConfigurationName parameter to select the WithProfile configuration on the Server01 computer.

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.This command will succeed only if the current user has permission to use the WithProfile session configuration or can supply the credentials of a user who has the required permissions.

Można również użyć zmiennej preferencji $PSSessionConfigurationName, aby zmienić domyślną konfigurację sesji na komputerze.You can also use the $PSSessionConfigurationName preference variable to change the default session configuration on the computer. Aby uzyskać więcej informacji na temat zmiennej preferencji $PSSessionConfigurationName, zobacz about_Preference_Variables.For more information about the $PSSessionConfigurationName preference variable, see about_Preference_Variables.

SŁUŻĄCKEYWORDS

about_Endpoints about_SessionConfigurationsabout_Endpoints about_SessionConfigurations

ZOBACZ RÓWNIEŻSEE ALSO

about_Preference_Variablesabout_Preference_Variables

about_PSSessionsabout_PSSessions

about_Remoteabout_Remote

about_Session_Configuration_Filesabout_Session_Configuration_Files

New-PSSessionNew-PSSession

Disable-PSSessionConfigurationDisable-PSSessionConfiguration

Enable-PSSessionConfigurationEnable-PSSessionConfiguration

Get-PSSessionConfigurationGet-PSSessionConfiguration

New-PSSessionConfigurationFileNew-PSSessionConfigurationFile

Register-PSSessionConfigurationRegister-PSSessionConfiguration

Set-PSSessionConfigurationSet-PSSessionConfiguration

Test-PSSessionConfigurationFileTest-PSSessionConfigurationFile

Unregister — PSSessionConfigurationUnregister-PSSessionConfiguration