管理终端服务
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导入权限模块
PS C:\> Import-Module PSTerminalServices
查看可用的命令 Get-Command –Module PSTerminalServices
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
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’上所有活动的线程,不显示确认
PS C:\> Get-TSSession –ComputerName comp1 –State Active | Stop-Tssession -Force
2) 在计算机’comp1’上获取所有活动的进程,要求来源IP以’10’开头
PS C:\> Get-TSSession –ComputerName comp1 –Filter {$_.ClientIPAddress –like ‘10*’ –AND $_ConnectionState –eq ‘Active’}
3) 在计算’comp1’上所有活动的终端线程中显示一个信息框
PS C:\>$M=”重要`n,服务器因为维护需要在10分钟内关闭,请保存工作并注销。”
PS C:\>Get-TSSession –State Active –ComputerName comp1 |Send-TSMessage –Message $M
4) 在计算机’comp1’上获取id为0的线程上的所有进程
PS C:\> Get-TSSession –ID 0 –ComputerName comp1 |Get-TSProcess