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

[玩转系统] 删除 PSSession (Microsoft.PowerShell.Core)

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

删除 PSSession (Microsoft.PowerShell.Core)


删除-PSSession

模块 :Microsoft.PowerShell.Core

关闭一个或多个 PowerShell 会话 (PSSession)。

句法

Remove-PSSession
      [-Id] <Int32[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-Session] <PSSession[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -ContainerId <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -VMName <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -InstanceId <Guid[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      -Name <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Remove-PSSession
      [-ComputerName] <String[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

描述

Remove-PSSession cmdlet 可关闭当前会话中的 PowerShell 会话 (PSSessions)。它会停止 PSSession 中运行的任何命令,结束 PSSession,并释放 PSSession 正在使用的资源。如果 PSSession 连接到远程计算机,此 cmdlet 还会关闭本地和远程计算机之间的连接。

要删除 PSSession,请输入名称计算机名称IDInstanceID会议的。

如果您已将 PSSession 保存在变量中,则会话对象仍保留在变量中,但 PSSession 的状态为“已关闭”。

示例

示例 1:按 ID 删除会话

Remove-PSSession -Id 1, 2

此命令删除 ID 为 12PSSession

示例2:删除当前会话中的所有会话

Get-PSSession | Remove-PSSession
Remove-PSSession -Session (Get-PSSession)
$s = Get-PSSession
Remove-PSSession -Session $s

这些命令删除当前会话中的所有 PSSession。三种命令格式虽然看起来不同,但作用是一样的。

示例 3:按名称关闭会话

$r = Get-PSSession -ComputerName Serv*
$r | Remove-PSSession

这些命令关闭连接到名称以 Serv 开头的计算机的 PSSession

示例 4:关闭连接到端口的会话

Get-PSSession | where {$_.port -eq 90} | Remove-PSSession

此命令关闭连接到端口 90 的 PSSessions。您可以使用此命令格式通过 ComputerNameComputerName >名称实例IDID

示例 5:通过实例 ID 关闭会话

Get-PSSession | Format-Table ComputerName, InstanceID  -AutoSize

ComputerName InstanceId
------------ ----------------
Server01     875d231b-2788-4f36-9f67-2e50d63bb82a
localhost    c065ffa0-02c4-406e-84a3-dacb0d677868
Server02     4699cdbc-61d5-4e0d-b916-84f82ebede1f
Server03     4e5a3245-4c63-43e4-88d0-a7798bfc2414
TX-TEST-01   fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

Remove-PSSession -InstanceID fc4e9dfa-f246-452d-9fa3-1adbdd64ae85

这些命令显示如何根据实例 ID 或 RemoteRunspaceID 关闭 PSSession

第一个命令使用 Get-PSSession cmdlet 获取当前会话中的 PSSessions。它使用管道运算符 (|) 将 PSSessions 发送到 Format-Table cmdlet,该 cmdlet 会格式化其 ComputerName表中的 > 和 InstanceID 属性。 AutoSize 参数会压缩显示的列。

从结果显示中,您可以识别要关闭的 PSSession,并将该 PSSessionInstanceID 复制并粘贴到第二个命令中。

第二个命令使用 Remove-PSSession cmdlet 删除具有指定实例 ID 的 PSSession

示例 6:创建一个删除当前会话中所有会话的函数

Function EndPSS { Get-PSSession | Remove-PSSession }

此函数关闭当前会话中的每个PSSession。将此函数添加到 PowerShell 配置文件后,要删除所有会话,请输入 EndPSS

参数

-ComputerName

指定计算机名称的数组。此 cmdlet 关闭连接到指定计算机的 PSSession。允许使用通配符。

键入一台或多台远程计算机的 NetBIOS 名称、IP 地址或完全限定域名。要指定本地计算机,请键入计算机名称、localhost 或点 (.)。

类型 :

String[]

别名:

Cn

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

True

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-ContainerId

指定容器 ID 的数组。此 cmdlet 删除每个指定容器的会话。使用 docker ps 命令获取容器 ID 列表。有关更多信息,请参阅 docker ps 命令的帮助。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Id

指定会话 ID 的数组。此 cmdlet 将关闭具有指定 ID 的 PSSession。键入一个或多个 ID(以逗号分隔),或使用范围运算符 (..) 指定 ID 范围。

ID 是一个整数,唯一标识当前会话中的PSSession。它比 InstanceId 更容易记住和输入,但它仅在当前会话中是唯一的。要查找 PSSession 的 ID,请运行不带参数的 Get-PSSession cmdlet。

类型 :

Int32[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-InstanceId

指定实例 ID 的数组。此 cmdlet 关闭具有指定实例 ID 的 PSSession

实例 ID 是唯一标识当前会话中的 PSSession 的 GUID。即使您在一台计算机上运行多个会话,实例 ID 也是唯一的。

实例 ID 存储在表示 PSSession 的对象的 InstanceID 属性中。要查找当前会话中 PSSessionsInstanceID,请键入 Get-PSSession |格式-表名称、计算机名称、实例 ID

类型 :

指导[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Name

指定会话的友好名称数组。此 cmdlet 关闭具有指定友好名称的 PSSession。允许使用通配符。

由于 PSSession 的友好名称可能不是唯一的,因此当您使用 Name 参数时,请考虑同时使用 WhatIfConfirm Remove-PSSession 命令中的 参数。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

True

-Session

指定要关闭的 PSSessions 的会话对象。输入包含 PSSessions 的变量或创建或获取 PSSessions 的命令,例如 New-PSSessionGet- PSSession 命令。您还可以通过管道将一个或多个会话对象传送到 Remove-PSSession

类型 :

PS会话[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-VMId

指定虚拟机 ID 的数组。此 cmdlet 启动与每个指定虚拟机的交互式会话。要查看可用的虚拟机,请使用以下命令:

Get-VM | Select-Object -Property Name, ID
类型 :

指导[]

别名:

VMGuid

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-VMName

指定虚拟机名称的数组。此 cmdlet 启动与每个指定虚拟机的交互式会话。要查看可用的虚拟机,请使用 Get-VM cmdlet。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

PS会话

您可以通过管道将会话对象传递给此 cmdlet。

输出

此 cmdlet 不返回任何输出。

笔记

PowerShell 包含以下 Remove-PSSession 别名:

  • 所有平台:

      rsn
  • Id 参数是必需的。要删除当前会话中的所有 PSSession,请键入 Get-PSSession |删除-PSSession

  • PSSession 使用与远程计算机的持久连接。创建一个PSSession来运行一系列共享数据的命令。有关详细信息,请输入 Get-Help about_PSSessions

  • PSSession 特定于当前会话。当您结束会话时,您在该会话中创建的 PSSession 将被强制关闭。

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

    取消回复欢迎 发表评论:

    关灯