当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 关于会话配置

作者:精品下载站 日期:2024-12-14 02:18:31 浏览:14 分类:玩电脑

关于会话配置


简短描述

描述会话配置,它确定可以远程连接到计算机的用户以及他们可以运行的命令。

详细描述

会话配置(也称为“终结点”)是本地计算机上的一组设置,用于定义远程或本地用户连接到本地计算机上的 PowerShell 时创建的 PowerShell 会话的环境。

计算机管理员可以使用会话配置来保护计算机并为连接到计算机的用户定义自定义环境。

管理员还可以使用会话配置来确定远程连接到计算机所需的权限。默认情况下,只有管理员组的成员有权使用会话配置进行远程连接,但您可以更改默认设置以允许所有用户或选定的用户远程连接到您的计算机。

从 PowerShell 3.0 开始,您可以使用会话配置文件来定义会话配置的元素。通过此功能,无需编写代码即可轻松自定义会话并发现会话配置的属性。要创建会话配置文件,请使用 New-PSSessionConfiguration cmdlet。有关会话配置文件的更多信息,请参阅 about_Session_Configuration_Files。

会话配置是基于 WSMAN 的 PowerShell 远程处理的一项功能。仅当您使用 New-PSSessionInvoke-CommandEnter-PSSession cmdlet 连接到远程 Windows 计算机时才会使用它们。

要管理 Windows 计算机上的会话配置,请使用以管理员身份运行选项启动 PowerShell。

关于会话配置

每个 PowerShell 会话都使用会话配置。这包括使用 New-PSSession 或 Enter-PSSession cmdlet 创建的持久会话,以及使用基于 WS-Management 的远程处理技术(例如 Invoke-Command)的 cmdlet 的 ComputerName 参数时 PowerShell 创建的临时会话。

管理员可以使用会话配置来保护计算机资源并为连接到计算机的用户创建自定义环境。例如,您可以使用会话配置来限制计算机在会话中接收的对象的大小、定义会话的语言模式以及指定会话中可用的 cmdlet、提供程序和函数。

通过配置会话配置的安全描述符,您可以确定谁可以使用该会话配置连接到计算机。用户必须具有会话配置的执行权限才能在会话中使用它。如果用户没有使用计算机上任何会话配置所需的权限,则该用户无法远程连接到该计算机。

默认情况下,只有计算机的管理员有权使用默认会话配置。但是,您可以更改安全描述符以允许所有人、任何人或仅选定的用户使用您计算机上的会话配置。

内置会话配置

PowerShell 3.0 包括名为 Microsoft.PowerShell 和 Microsoft.PowerShell.Workflow 的内置会话配置。在运行 64 位版本 Windows 的计算机上,PowerShell 还提供 Microsoft.PowerShell32(32 位会话配置)。

默认情况下,当创建会话的命令不包含 New-PSSession、Enter-PSSession 或 Invoke-Command cmdlet 的 ConfigurationName 参数时,Microsoft.PowerShell 会话配置用于会话。

默认会话配置的安全描述符仅允许本地计算机上的管理员组成员使用它们。因此,除非您更改默认设置,否则只有管理员组的成员才能远程连接到计算机。

您可以使用 $PSSessionConfigurationName 首选项变量更改默认会话配置。有关详细信息,请参阅 about_Preference_Variables。

查看本地计算机上的会话配置

要获取本地计算机上的会话配置,请使用 Get-PSSessionConfiguration cmdlet。

例如,输入:

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

PowerShell 3.0 中扩展了会话配置对象,以显示使用会话配置文件配置的会话配置的属性。

例如,要查看会话配置对象的所有属性,请键入:

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

您还可以使用 PowerShell 中的 WSMan 提供程序来查看会话配置。 WSMan 提供程序在您的会话中创建 WSMAN: 驱动器。

在 WSMAN: 驱动器中,会话配置位于插件节点中。 (所有会话配置都在Plugin节点中,但Plugin节点中有些项目不是会话配置。)

例如,要查看本地计算机上的会话配置,请键入:

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

查看远程计算机上的会话配置

要查看远程计算机上的会话配置,请使用 Connect-WSMan cmdlet 将远程计算机的注释添加到本地计算机上的 WSMAN: 驱动器,然后使用 WSMAN: 驱动器查看会话配置。

例如,以下命令将 Server01 远程计算机的节点添加到本地计算机上的 WSMAN: 驱动器。

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

命令完成后,您可以导航到 Server01 计算机的节点以查看会话配置。

例如:

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

更改会话配置的安全描述符

在 Windows Server 2012 和更高版本的 Windows Server 中,默认情况下为远程用户启用内置会话配置。在其他受支持的 Windows 版本中,您必须更改会话配置的安全描述符以允许远程访问。

要启用对计算机上会话配置的远程访问,请使用 Enable-PSRemoting cmdlet。此 cmdlet 创建两个会话配置:

  • 名称定义为:“PowerShell”。 +“当前的PowerShell版本”
  • 名称为“PowerShell.6”,与任何特定的 PowerShell 版本无关。

此外,默认情况下,只有计算机上管理员组的成员才具有对默认会话配置的执行权限,但您可以更改默认会话配置以及您创建的任何会话配置上的安全描述符。

若要授予其他用户远程连接到计算机的权限,请使用 Set-PSSessionConfiguration cmdlet 将这些用户的“执行”权限添加到 Microsoft.PowerShell 和 Microsoft.PowerShell32 会话配置的安全描述符中。

例如,以下命令打开一个属性页,可让您更改 Microsoft.PowerShell 默认会话配置的安全描述符。

Set-PSSessionConfiguration -name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

要拒绝每个人对计算机上所有会话配置的权限,请使用Disable-PSSessionConfiguration cmdlet。例如,以下命令禁用计算机上的默认会话配置。

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

要阻止远程用户连接到计算机,但允许本地用户连接,请使用Disable-PSRemoting cmdlet。 Disable-PSRemoting 将“Network_Deny_All”条目添加到计算机上的所有会话配置中。

PS C:> Disable-PSRemoting

要允许远程用户使用计算机上的所有会话配置,请使用 Enable-PSRemoting 或 Enable-PSSessionConfiguration cmdlet。例如,以下命令启用对内置会话配置的远程访问。

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

要对会话配置的安全描述符进行其他更改,请使用 Set-PSSessionConfiguration cmdlet。使用 SecurityDescriptorSDDL 参数提交 SDDL 字符串值。使用 ShowSecurityDescriptorUI 参数显示用户界面属性表,以帮助您创建新的 SDDL。

例如:

Set-PSSessionConfiguration -Name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

创建新的会话配置

要在本地计算机上创建新的会话配置,请使用 Register-PSSessionConfiguration cmdlet。要定义新的会话配置,可以使用 C# 程序集、PowerShell 脚本和 Register-PSSessionConfiguration cmdlet 的参数。

例如,以下命令创建与 Microsoft.PowerShell 会话配置相同的会话配置,不同之处在于它将从远程命令接收的数据限制为 20 兆字节 (MB)。 (默认值为 50 MB)。

Register-PSSessionConfiguration -Name NewConfig `
  -MaximumReceivedDataSizePerCommandMB 20

创建会话配置时,您可以使用其他会话配置 cmdlet 对其进行管理,并且它会显示在 WSMAN: 驱动器中。

有关详细信息,请参阅注册 PSSessionConfiguration。

删除会话配置

要从本地计算机删除会话配置,请使用 Unregister-PSSessionConfiguration cmdlet。例如,以下命令从计算机中删除 NewConfig 会话配置。

PS C:> Unregister-PSSessionConfiguration -Name NewConfig

有关详细信息,请参阅取消注册 PSSessionConfiguration。

恢复会话配置

要恢复意外删除(取消注册)的默认会话配置,请使用 Enable-PSRemoting cmdlet。

Enable-PSRemoting cmdlet 会重新创建计算机上不存在的所有默认会话配置。它不会覆盖或更改现有会话配置的属性值。

要恢复默认会话配置的原始属性值,请使用 Unregister-PSSessionConfiguration 删除会话配置,然后使用 Enable-PSRemoting cmdlet 重新创建它。

选择会话配置

要为会话选择特定会话配置,请使用 New-PSSession、Enter-PSSession 或 Invoke-Command 的 ConfigurationName 参数。

例如,此命令使用 New-PSSession cmdlet 在 Server01 计算机上启动 PSSession。该命令使用 ConfigurationName 参数选择 Server01 计算机上的 WithProfile 配置。

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

仅当当前用户有权使用 WithProfile 会话配置或可以提供具有所需权限的用户的凭据时,此命令才会成功。

您还可以使用 $PSSessionConfigurationName 首选项变量来更改计算机上的默认会话配置。有关 $PSSessionConfigurationName 首选项变量的详细信息,请参阅 about_Preference_Variables。

关键词

about_Endpoints about_SessionConfigurations

参见

  • about_Preference_Variables
  • about_PSSessions
  • about_Remote
  • about_Session_Configuration_Files
  • 新 PS 会话
  • 禁用-PSSessionConfiguration
  • 启用-PSSessionConfiguration
  • 获取 PSSessionConfiguration
  • 注册-PSSessionConfiguration
  • 设置 PSSessionConfiguration
  • 取消注册-PSSessionConfiguration
  • 新建 PSSessionConfigurationFile
  • 测试-PSSessionConfigurationFile

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯