远程 Shell 基础结构改进

Windows 远程管理版本 2.0(WinRM 2.0)提供了许多远程 shell 基础结构改进。 以下主题详细介绍了这些改进:

WinRM 远程 shell 基础结构的改进之一是添加了一个更可靠的 shell 管理器,用于维护用户特定的 shell 信息。 WinRM 用户可以在远程计算机上创建 shell 来运行命令或脚本。 此外,用户可以在计算机上创建多个 shell。 用户和管理员都需要能够管理 shell。 用户可以枚举、获取和删除他们创建的 shell。 管理员可以枚举所有活动 shell,并检索有关本地或远程主机上特定 shell 的详细信息。 管理员还可以删除本地或远程主机上的任何活动 shell。

当用户或管理员枚举活动 shell 时,WinRM 服务可以返回以下信息。

ShellId

指定 shell 的唯一标识符。

环境变量

指定用户设置的任何环境变量。

WorkingDirectory

指定 shell 的起始目录。

ResourceURI

指定 shell作的资源 URI。 资源 URI 可用于检索特定于 shell 实例的插件配置。

IdleTimeout

指定 shell 在没有任何请求的情况下保持打开状态的最大持续时间(以毫秒为单位)。

InputStreams

指定 shell 的输入流。

OutputStreams

指定 shell 的输出流。

Shell 创建时间

指定 shell 的创建时间戳。

IdleTime

指定 shell 处于空闲状态的持续时间(以毫秒为单位)。

UserId

指定用户 ID。

主机名或 IP 地址

指定创建 shell 的计算机的主机名或 IP 地址。

Shell 内存使用情况

指定 shell 已使用的内存量。

进程数

指定 shell 创建的进程数。

枚举本地主机上的 Shell

以下命令演示如何使用 winrm 实用工具枚举 WinRM 客户端上的 shell:winrm 枚举 shell

以下基于文本的示例显示 shell 枚举的输出:

Shell
    ShellId = 0A6E6A01-8AB2-4037-86CC-BFC826A1244E
    ResourceUri = http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd
    Owner = FABRIKAM\myAccount
    ClientIP = ::1
    IdleTimeOut = PT180.000S
    InputStreams = stdin
    OutputStreams = stdout stderr
    ShellRunTime = P0DT0H0M36S
    ShellInactivity = P0DT0H0M35S

Shell
    ShellId = EE3F11CE-FB3C-4C4E-B113-6F4D643C97D8
    ResourceUri = http://schemas.microsoft.com/powershell/Microsoft.PowerShell
    Owner = FABRIKAM\myAccount
    ClientIP = ::1
    IdleTimeOut = PT180.000S
    InputStreams = stdin pr
    OutputStreams = stdout
    ShellRunTime = P0DT0H1M46S
    ShellInactivity = P0DT0H0M45S
    MemoryUsed = 48MB
    ChildProcesses = 0

Shell
    ShellId = 8FD7F2C4-A434-4D58-A7E8-46F8BF202D0B
    ResourceUri = http://schemas.microsoft.com/powershell/Microsoft.PowerShell
    Owner = FABRIKAM\myAccount
    ClientIP = ::1
    IdleTimeOut = PT180.000S
    InputStreams = stdin pr
    OutputStreams = stdout
    ShellRunTime = P0DT0H1M47S
    ShellInactivity = P0DT0H0M47S
    MemoryUsed = 48MB
    ChildProcesses = 0

有关详细信息,请参阅运行以下命令提供的联机帮助:winrm 枚举 -?

检索有关特定 Shell 的信息

管理员或用户还可以使用 ShellId 标识符检索有关 shell 的信息。 以下命令演示如何使用 winrm 实用工具获取有关特定 shell 的信息:winrm get shell?ShellId=0A6E6A01-8AB2-4037-86CC-BFC826A1244E

以下基于文本的示例显示 shell 信息的输出:

Shell
    ShellId = 0A6E6A01-8AB2-4037-86CC-BFC826A1244E
    ResourceUri = http://schemas.microsoft.com/wbem/wsman/1/windows/shell/cmd
    Owner = FABRIKAM\myAccount
    ClientIP = ::1
    IdleTimeOut = PT180.000S
    InputStreams = stdin
    OutputStreams = stdout stderr
    ShellRunTime = P0DT0H0M36S
    ShellInactivity = P0DT0H0M35S

有关详细信息,请参阅以下命令提供的联机帮助:winrm get -?

多跃点支持

远程 Shell 配额管理

WS-Management PowerShell 命令 托管参考