




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SVR352扩展WindowsServer终端服务在企业中的应用 课程内容概述 您可能还不知道终端服务的潜力到底有多大 让我们看看如何设计在终端服务里平稳运行 功能先进的企业应用程序 首先 了解终端服务应用软件的设计规范 其次 研究如何使用终端服务的脚本接口 API与托管代码调用方法 最后 我要介绍一个可以实现灵活定制的库 虚拟通道 适合听众 企业IT架构师 开发人员预备知识 终端服务的概念与使用经验 Scripting Windows开发技能和 NET开发技能 课程内容安排 终端服务的协议 架构与模式使用脚本或API操作终端服务使用 NETFramework操作终端服务跨越边界 虚拟通道应用程序 终端服务的协议 架构和应用程序规范 终端服务的概念 穿透的客户机 服务器环境 终端服务器环境 基于服务器进行计算 终端服务的概念 终端服务器 RDP协议 远程桌面客户端 安装应用程序终端服务的应用服务器模式 注销目前登录的用户退出安装过程中会加以修改的服务和程序安装过程中禁止用户登录 ChangeLogon Disable 使用控制面板内的 添加删除程序 进行安装 自动会进入安装模式注意 如果必要 你可以手工进入安装模式 ChangeUser Install 安装应用程序之后的任务 安装完毕后 系统需从 安装模式 恢复到 执行模式 如果必要的话 也可以手工来做 Changeuser execute 重新启动刚才退出的应用程序或服务允许用户登录 Changelogon enable 双模式的意义 只有在应用服务器模式才存在安装和执行分开的 双模式 现象 双模式的分工 应用程序兼容性注册表重定向 又称shadowing 临时文件重定向 ini文件映射API重定向 安装模式 管理员 用户 Registry HKCU UserProfile Admin Registry ShadowKeys WriteGlobal iniFiles WinDir WINDOWS GlobalTempFiles Temp GlobalAPICalls GetWindowsDirectory Registry HKCU UserProfile User Registry ShadowKeys ReadAdapted iniFiles WinDir WINDOWS SpecificTempFiles Temp SpecificAPICalls GetWindowsDirectory 注册表重定向 适合多用户同时使用的应用程序 安装和配置设计规范具有可靠的无值守安装和无界面安装 含默认配置 默认安装到ProgramFiles目录识别和覆盖旧版本支持 添加 删除程序 界面 以及 AllUsers 安装 不替换受Windows文件保护的文件避免不必要的重新启动允许管理员根据公司政策设置安全性和用户界面选项 适合多用户同时使用的应用程序 安全性设计规范可以使用一般或者受限用户的权限运行 不依赖于本地管理员权限 避免读写本机注册表模块和系统文件夹 应用程序默认不会跳过系统安全检查步骤 应用程序能够应付 拒绝访问 的错误 适合多用户同时使用的应用程序 设计上的考虑因素应用程序应该可以允许多个交互用户同时使用 不使用全局互斥或者限制实例数量 不使用系统全局数据 比如IP地址或者主机名 来标识用户 无共享组件冲突 DLLs 全局的数据和单个用户的数据严格区别开来 单个实例不会独占所有的资源 比如内存 CPU I O等等 适合多用户同时使用的应用程序 多用户程序的文件访问设计规范文件访问锁定 多个用户可能同时访问应用程序的文件文件访问权限 把普通用户和管理员的访问权限区别开来 full readorexecute权限 文件保存地址 把用户产生的数据默认保存在用户自己的Profile目录里 提供定制界面 防止访问系统文件 在运行时不提供向应用程序自身目录和系统目录的写入 为每个用户使用不同的临时文件 适合多用户同时使用的应用程序 编码指南尽量使用环境变量 避免硬编码 比如C Windows C Programfiles或者C Temp 使用Win32APIs去调用打印机 注册表 连接名称或者其它和环境相关的功能 避免使用 ini文件 实在要用 只使用标准Win32API去访问 ini文件 比如WritePrivateProfileString 大多数兼容性不好的应用程序可以通过外加脚本来解决 终端服务的编程方法 终端服务器脚本 使用脚本可以访问绝大多数系统和终端服务器的设置 终端服务的WMI接口提供当前连接和活动配置信息 ADSIExtensionforTerminalServicesuserconfiguration TSUSEREX DLL 可以用来管理和终端服务相关的用户属性 MicrosoftWindowsServer2003脚本中心 TSWMIProviderClasses Win32 TerminalServices Win32 TSGeneralSetting Win32 TSRemoteControlSetting Win32 TSAccount Win32 TSLogonSetting Win32 TSEnvironmentSetting Win32 TSPermissionSetting Win32 TSSessionSetting Win32 TSClientSetting Win32 TSNetworkAdapterSetting Win32 TSNetworkAdapterListSetting Win32 TSSessionDirectorySetting Win32 TerminalServiceToSetting Win32 TerminalServiceSetting Win32 TSSessionDirectory Win32 Terminal Win32 TerminalTerminalSetting Win32 TerminalSetting 修改终端服务的Home目录 strComputer SetobjWMIService GetObject winmgmts impersonationLevel impersonate strComputer root cimv2 SetcolItems objWMIService ExecQuery Select fromWin32 TerminalServiceSetting ForEachobjItemincolItemserrRes objItem SetHomeDirectory u tsusers Next TSWMI脚本 TSAPI简介 TerminalServicesAPI是Wtsapi32 dll提供的函数可以在自己的应用程序中配置和管理终端服务器 TSAPI简介 下述操作系统提供TSAPI Wtsapi32 dll MicrosoftWindowsNTServer4 0SP4 TerminalServerEditionMicrosoftWindows2000MicrosoftWindowsXPMicrosoftWindowsServer2003 TSAPI简介 用户态 核心态 鼠标 键盘 图像 Wtsapi32 dll TS服务 Rdpwsx Smss TS设备驱动程序Termdd sys Rdpwd sys Tdtcp sys TSAPI应用程序 内核Win32k sys 显示驱动Rdpdd sys Winlogon Csrss 会话中的应用程序 剖析Wtsapi32 dll 使用各种工具 VisualStudio 列出Wtsapi32 dll的引出函数表MicrosoftBinaryFileDumper dumpbin exportswtsapi32 dll MicrosoftLinker link dump exportswtsapi32 dll DependencyWalkerDepends exe 剖析Wtsapi32 dll TSAPI函数 1 2 TSAPI函数 2 2 TSAPI编码 推荐 VisualStudio Net加PlatformSDK 终端服务API C语言开发人员incldue头文件 Wtsapi32 h修改配置属性 链接器 命令行 附加选项 加入 Wtsapi32 lib 修改配置属性 常规 字符集 使用多字节字符集 修改配置属性 C C 高级 编译目标 编译为C代码 TC 修改配置属性 C C 代码生成 运行时库 多线程调试 MTd 或者 多线程 MT TS编码流程 获取终端服务器的名称获取该终端服务器的句柄执行相应的任务 比如枚举和管理用户会话或进程释放分配的资源 比如缓冲内存关闭终端服务器的句柄 include include includeintmain intargc char argv char pszServerName NULL HANDLEserverHandle PWTS PROCESS INFOpProcessInfo serverHandle WTSOpenServer pszServerName moreTSspecificcodeWTSFreeMemory pProcessInfo WTSCloseServer serverHandle TSAPIC语言范例代码 在 NET语言中使用TSAPI 终端服务API 非托管代码终端服务API目前没有标准 NET类库在托管代码里面需要使用PlatformInvoke P Invoke TSAPIP InvokeWrapperClass PlatformInvoke是用来让托管代码调用DLL中的非托管代码的一个服务 在包装类中 每一个DLL需要定义一个静态方法 包装之后 可以像一般的静态函数一样调用 DllImport wtsapi32 dll publicstaticexternIntPtrWTSOpenServer StringstrServername usingSystem usingSystem Runtime InteropServices usingHANDLE System IntPtr namespaceTsNET classProgram staticvoidMain string args HANDLEhServer IntPtr Zero StringstrServername null hServer WTS WTSOpenServer strServername WTS WTSCloseServer hServer TSAPIVisualC 范例代码 终端服务的虚拟通道技术 虚拟通道 虚拟通道可以扩展终端服务器的功能客户端组件终端服务客户端运行的时候会把DLL加载进内存 应用程序嵌入RDPActiveX控件 服务器端组件在终端服务中的某会话中运行的用户态应用程序虚拟通道程序可以由登录脚本 启动目录或用户自行启动 虚拟通道 终端服务Wtsapi32 dll RDP 远程桌面客户端Mstscax dll 虚拟通道 额外的功能 终端服务分层架构 终端服务 RDP客户端 Wtsapi32 dll 终端服务 Rdpwsx Smss 终端服务设备驱动Termdd sys Rdpwd sys Tdtcp sys 终端服务API应用 KernelWin32k sys 显示驱动Rdpdd sys Winlogon Csrss Per SessionApps 终端服务客户端应用 Mstscax dll 网络协议栈 RDP 虚拟通道客户端 在托管代码Windows窗体中使用远程桌面控件使用Oleview exe去找暴露的函数WindowsFormsActiveXControlImporterAximp exe可以ActiveX的COM的类型库转成Windows窗体控件 Aximpc Windows system32 mstscax dll 生成Mstsclib dll和Axmstsclib dll把这些DLLs加入项目的参考项中 usingAxMSTSCLib privateAxMsRdpClientm msTsc publicRDPClientForm m msTsc newAxMsRdpClient m msTsc Dock DockStyle Fill Controls Add m msTsc InitializeComponent ServerFormsrvForm newServerForm if srvForm ShowDialog DialogResult OK return m msTsc Server srvForm ServerName m msTsc Connect 代码范例 TSClient 虚拟通道程序设计 客户端创建虚拟通道 m msTsc CreateVirtualChannels VCD 在虚拟通道上发送 m msTsc SendOnVirtua
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年国企服务部面试题目及答案
- 2025年新能源汽车自动驾驶政策法规适应性研究报告
- 高校国家资助合同模板(3篇)
- 高铁站设计施工合同模板(3篇)
- 高清合同模板(3篇)
- 安徽辅警笔试题库及答案
- 爱心女孩心理测试题及答案
- 网络游戏合同终止及虚拟物品处理补充协议
- 航空航天项目单项目技术保密合同
- 体育机构运动员职业规划与权益保障合同范本
- 分层审核表-(第一层)
- 二手车评估协议书
- 2025行政执法证考试必考题库(含答案)
- 47届世赛江苏省选拔赛轨道车辆技术项目技术工作文件v1.1
- 全国中小学“学宪法、讲宪法”知识素养竞赛题库及答案
- 2024年秋新冀教版三年级上册英语全册教学课件(新版教材)
- 第1-2课时Listening Speaking Unit 2 Transportation-课件 -【中职专用】高一学年英语同步课堂(高教版2023修订版·基础模块1)
- 十四年抗战史
- CJJT 164-2011 盾构隧道管片质量检测技术标准
- 2024-2034年全球及中国云母和绢云母行业市场发展分析及前景趋势与投资发展研究报告
- 标准方向讲解
评论
0/150
提交评论