管理终端服务

u 案例需求

1. 在PowerShell中导入终端服务管理模块。

2. 此模块可以管理Windows Server 2008上的终端服务(包含远程桌面)的线程以及线程上的进程。

3. 此模块的功能

1) 枚举终端线程,报告线程信息,包括连接状态,用户名,客户端名称,客户端详细信息,IP地址。

2) 注销一个线程。

3) 终端一个线程。

4) 在一个线程上显示一条信息。

5) 枚举所有的进程与指定线程的进程。

6) 终止一个进程

u 知识提示

1.终端管理模块的导入

双击安装PSTerminaServices_1.1,然后在PowerShell中运行

管理终端服务_用户名

PS C:\> Get-Module -ListAvailable

ModuleType Name ExportedCommands

---------- ---- ----------------

Manifest PSTerminalServices {}

Manifest BitsTransfer {}

Manifest PSDiagnostics {}

使用命令Import-Module PSTerminalServices导入权限模块

管理终端服务_客户端_02

PS C:\> Import-Module PSTerminalServices

查看可用的命令 Get-Command –Module PSTerminalServices

管理终端服务_IP地址_03

PS C:\> Get-Command -Module psterminalservices

CommandType Name Definition

----------- ---- ----------

Function Disconnect-TSSession ...

Function Get-TSCurrentSession ...

Function Get-TSGlobalServerName ...

Function Get-TSProcess ...

Function Get-TSServers ...

Function Get-TSSession ...

Function Send-TSMessage ...

Function Set-TSGlobalServerName ...

Function Stop-TSProcess ...

Function Stop-TSSession ...

获取帮助,请使用Get-Help

管理终端服务_详细信息_04

PS C:\> Get-Help Get-TSCurrentSession -Detailed

2. 命令的使用

Disconnect-TSSession 中断线程连接

Get-TSCurrentSession 获取当前运行中的进程信息

Get-TSServers 枚举所有指定域中的终端服务器

Get-TSProcess 获取一个指定或所有线程上运行的进程

Get-TSSession 获取一个指定终端服务器上的所有线程

Send-TSMessage 在指定线程上显示一个消息框

Stop-TSProcess 终止一个指定或所有线程上运行的进程

Stop-TSSession 注销一个线程,终端所有可能的用户连接

示例

1) 注销远程计算机’comp1’上所有活动的线程,不显示确认

管理终端服务_用户名_05

PS C:\> Get-TSSession –ComputerName comp1 –State Active | Stop-Tssession -Force

2) 在计算机’comp1’上获取所有活动的进程,要求来源IP以’10’开头

管理终端服务_详细信息_06

PS C:\> Get-TSSession –ComputerName comp1 –Filter {$_.ClientIPAddress –like ‘10*’ –AND $_ConnectionState –eq ‘Active’}

3) 在计算’comp1’上所有活动的终端线程中显示一个信息框

管理终端服务_用户名_07

PS C:\>$M=”重要`n,服务器因为维护需要在10分钟内关闭,请保存工作并注销。”

PS C:\>Get-TSSession –State Active –ComputerName comp1 |Send-TSMessage –Message $M

4) 在计算机’comp1’上获取id为0的线程上的所有进程

管理终端服务_客户端_08

PS C:\> Get-TSSession –ID 0 –ComputerName comp1 |Get-TSProcess