Citrix Troubleshooting Tools
常规工具
- 以下这些工具适用于大多数类型的问题
名称 | 出处 | 描述 | 详细信息 |
AccessEnum | AccessEnum能给出一个关于你文件系统、注册表的安全设定的全视图。 AccessEnum使用标准的Windows安全API生成有关的读、写、拒绝访问的信息。这个工具用来排除访问/权限的问题。 TerminalCN注:这个工具可以让你更清楚的了解你文件系统的NTFS(和注册表)权限设置,当权限设置不当时常会引起管理员可以使用的远程应用而用户不能使用,在这种情况下了解是那个文件或哪项REG引起的就很重要了。 | 常使用在当user发生问题而管理员却没有问题发生的情况下。 | |
AppEdit | 管理Citrix 服务器群集中发布的应用程序的一个简单的图形界面工具。 TerminalCN注:的确是很简陋的一个工具仅可以删除或改变已发布的程序,并不可以发布新的程序。主要用来得到一个隔离的测试环境。 | 对于为了隔离测试环境或者把怀疑导致问题的服务器找出来而在服务器间快速移动和更改已发布的应用程序是有用的。它可以配合CHFARM命令来隔离一台服务器。 | |
AppManagmentTool | 快速、简单的应用程序管理工具 TerminalCN注:这个工具仅支持MF XP和MF 3.0版本。 | ||
Centinel | 监视终端服务器的联接一旦所有用户注销或断开就重启服务器,它还可以在重启后运行一个脚本。 TerminalCN注:在用户数量较多时你发现你为一个程序安装补丁(这个补丁要重启方能生效)后你无法即时的重启服务器,因为依然有客户联接着服务器。为了保险起见你只能等到所有用户断开或注销后再重启;这个工具做的就是自动监视并重启,还可以在重启后运行一个脚本。 | 这个工具使用在自动安装一个补丁或registry hack后需要重启服务器并不能丢失用户数据的情况下。 | |
CHFARM | 参阅Citrix Presentation Server管理员手册 –附录 A (本命令为Citrix的内置管理工具) | 管理员可以使用CHFARM命令将服务器从当前集群中移出. 移出的服务器可以加入到另一个已存在的服务器集群中也可以移动到一个新的集群,这种情况下CHFARM命令会在移动的同时创建新的集群. CHFARM能用来隔离问题和检验问题是否与citrix的数据存储有关。 TerminalCN注:Chfarm是一个较常使用的命令行工具,它可以让一台服务器脱离现在的集群并加入到新建的集群中去,也可以加入已存在的新集群中去。 | 如果你要移动的服务器提供信息给资源管理汇总数据库,升级汇总数据后再使用chfarm命令。 |
Citrix Enterprise Tracer 5.8 | Citrix Enterprise Tracer 5.8 工具可开启IMA调试跟踪信息. TerminalCN注:非常用工具 | - | |
Common Diagnostics Facility (CDF) | Citrix Presentation Sever Access Suite Console中集成本工具(即Diagnostics Facility) | Common Diagnostic Facility (CDF)是作为Access Suite控制台的一部分主要用来给管理员收集跟踪信、分析和诊断问题的工具. TerminalCN注:打开access suite控制台后,你在左侧的任务栏中可以见到它的踪影。对于分析和跟踪Citrix各部件的问题它很强大,但需要对citrix的了解较深方能用好。 | Support.citrix.com有很多关于"IMA 组件" 追踪问题的详细类型的选择的说明。 |
Common Diagnostics Facility Viewer (CDF Viewer) | CDF Viewer是用来查看CDF收集到的诊断记录文件。 TerminalCN注:CDF输入的结果的检视工具。 | ||
CDF Control | CDF Control是用来捕捉从CDF跟踪输入的来自Citrix各产品模块的信息的软件调试工具。 | 要等到这个工具必须通过支持站点的身份验证. Support.citrix.com | |
delprof | Delprof是一个基于命令行的删除远程或本地用户配置文件的工具,它支持Windows 2000、Windows XP、Windows 2003。在多个用户使用一台电脑时,因为用户配置文件会不断增长消耗不少空间,所以有时需要使用它。 TerminalCN注:在较多用户配置文件的情况下删除和管理用户配置文件也是件痛苦的事情,有了delprof你可减轻不少。因为在很多情况下用户恢复到初始的配置文件就可以解决一些很奇怪的问题如输入法类的问题。 | 通常使用在一台Presentation Server只有一个用户出问题时可以尝试删除这个用户配置文件来解决。 | |
ExamDiff | 文本比较工具 TerminalCN注:较下面的FC命令它更强大,更直观。但都是用于文件内容比较。 | 对于比较两种不同状态下得到的CDF文件是很有用的工具 | |
FarmAppUtil | FarmAppUtil工具可以保存远程应用程序的用户和服务器分配属性到一个XML文件中,这个工具也可以输出目录结构为一个文本文件。并且XML文件可以修改以及可以利用它来在新的集群中重新发布所有程序同样也可恢复所有目录结构到新的集群中去。 TerminalCN注:这个工具测试中发现会出错,但可以备份发布程序中的目录结构和发布的程序。恢复过程中有一点点bug. | 命令示例: FarmAppUtil S 及 FarmAppUtil <folderstructure.txt> <FarmName.xml> | |
fc.exe | 集成于 Windows 2000, Windows 2003 and NT4.0系统 | 常用于比较ntuser.dat文件 TerminalCN注:在同一台服务器两个同组用户出现一个用户异常一个用户正常时,常常和策略的设置有关。而策略最终保存的位置其实就是ntuser.dat,所以fc在这时起到了很重要的作用。 | 详请见:fc /? |
FileMon | www.sysinternals.com | 权限问题;如用户不可以运行的一个程序,管理员却可以。 TerminalCN注:它的作用类似于AccessEum这个工具,但在使用上我们更喜欢FileMon. | 类似于“找不到指定的文件”或“拒绝访问”的问题。 |
Findapp | 查找正在指定的一台或多台Presentation Server上运行的应用程序的信息 TerminalCN注:这个工具最早用于MS终端服务中,用来查看一台或多台的终端服务器正常运行其一程序的用户名、进程ID、会话ID等信息。注意它在Citrix下使用APPname这个参数请使用程序名而不是显示名。如你notepad.exe它的显示名可能是“写字板”,但程序名是notepad.exe | ||
Finduser | 查找指定用户在任一台或多台上运行的会话ID及状态信息。 TerminalCN注:和findapp不同的地方是它索引的字段是用户名不是应用程序名,而且查看的信息也只有会话ID和状态信息。 | ||
ICAPORT | Presentation Server内含本工具 | Icaport命令用来查询或改变服务器的ICA协议的侦听端口。ICA默认端口为1494。端口号的范围必须为0-65535且不能和众所周知的端口冲突。 TerminalCN注:如查要修改ICA端口建议使用较高位的端口。 | |
MessageHistory | 简单的Windows消息图形工具,它就类似于spy++或winspector工具,但它更容易使用。 由两个可执行文件组成 (32- 和 64-位).打开它并选择上可多选选项按开始就可以开始跟踪了。 TerminalCN注:一个很简单的Windows消息跟踪器,很容易使用。但较spy++来说功能和提供的项目要少得多。 | 常用于解决和GUI、无缝窗口、客户端有关的问题。 | |
MFHotfixutil | MF的补丁工具,它可以用来查询并保存MF服务器已安装的所有补丁列表到一个XML文件中,也可以用来比较两台服务器的补丁列表。它是用C#.net写的。 TerminalCN注:它只支持xp和3.0环境,因为4.0起有自己的补丁管理工具了。 | ||
MSGHOOK.EXE V4.0.1.0 | Presentation Server 4.x Server CD的Support目录的 Debug目录下. | MsgHook是一个用来监控Presentation Server的成员服务器的IMA流量的命令行工具,注意使用它将影响服务器的性能。 TerminalCN注:对于一般用户这个工具所采集到的信息作用不大. | |
Process Explorer | . Process Explorer用来显示进程打开的句柄和其调用的DLL的信息。可以用它来跟踪如DLL版本或句柄溢出引起的问题。 TerminalCN注:Process Explorer(进程资料管理器)它提供了当前进程的一些很重要的信息,如进程所打开的句柄、它所调用的DLL、它的进程号、数位签名等信息。用它可以详细了解打开一个进程所汲及的DLL文件,同样有助于解决因权限引起的奇怪问题。 | ||
PsExec.exe | PsExec 用来在完成计算机上运行一个指定程序的工具,就如同Telnet或其远程管理工具一样,但它不需要在服务器端安装服务端也不需要在客户端安装软件。 TerminalCN: 经我们测试psexec在VM6.0下是不能正常使用的,另外要在远程机器上运行程序是一定需要远程机器上的权限的。 | 可以组合systemdump.exe命令来做一个系统的远程转储。 | |
Qfarm (query farm) | Presentation Server内含本工具 | Qfarm它用来显示一个基于IMA的服务器集群中的服务器的信息,例如:用qfarm /load来显示当前每个服务器的负载;用qfam /online显示当前所有在线的服务器。 TerminalCN注:Qfarm /app可以用来查询集群中已发布的应用程序的程序名和负载值。 | 参阅Presentation Server 管理员手册附录A |
QRYClientIP | 这个命令行工具查询一个会话的客户端IP地址。使用它可以实现在一个特定的IP或特定的网段执行指定的脚本。 TerminalCN注:如果在内网你的IP是和MAC地址绑定了的,你就可以结合QRYClinetIP工具实现只可以在指定的机器上打开远程应用了。 | ||
QUERY PROCESS | http://technet2.microsoft.com/WindowsServer/en/library/fb4b56c1-3b92-4670-958c-00acb4dc22471033.mspx Query命令被集成在windows server 2000和 windows server 2003下。 | 用它来显示运行在终端服务器下的进程的信息,你可以用它来查询特定用户在运行的程序,也可用它来查询特定程序哪些用户在运行。 TerminalCN注:它是终端管理器的简化命令行版,用它可以更快捷的查询运行在终端或ICA下的进程信息。 | |
QUERY SESSION | 显示在终端服务器下的有关会话的信息。它显示的列表不单只是包含活动的会话还包括了服务器上运行的其它会话。 TerminalCN注:和Process参数不同之处是它用来显示当前服务器所有会话的相关信息。 | ||
QUERY TERMSERVER | 显示当前网络中所有的终端服务器。 TerminalCN注:类似于citrix的qfarm的/online参数。 | ||
QUERY USER | Displays information about user sessions on a terminal server.显示终端服务器下用户会话信息。 TerminalCN注:和 /process /session不同的是显示的信息侧重点在于用户。(个人觉得这些参数它们很累赘重复性很大。^_^) | ||
Querydc | Presentation Server 安装CD的 Support目录下的 Debug目录中. | Querydc用来查询特定的Zone中的Data Collerctor,不接任何参数时Querydc默认这台主机所在的Zone的Zone名和当前Zone的Data Collector. TerminalCN注:在MPS主机运行这个命令行时你需要是本Farm的管理员,如果权限不够时会返回0x800000016错误。 | |
QueryHR | Presentation Server 安装CD的 Support目录下的 Debug目录中. | .Queryhr显示在本集群中的成员服务器信息,不接任何参数时它将显示本集群中所有服务器。查询所得来的信息来自于本机的缓存中。 TerminalCN注:运行这个命令同样需要足够的权限。 | |
Regmon | www.sysinternals.com | .Regmon用来跟踪注册表的活动,如IE进程对不同注册表键的读/写操作。我们常使用它的过滤功能来过滤出我们所需要监控的特定进程或特定键。 TerminalCN注:因为很多应用程序及系统的设置保存在注册表中,而user组对注册表的读和写的键是有限的。所以使用Regmon可以让你更清楚的了解应用程序读/写注册表的键项/键值。 | 常用它来跟踪访问拒绝或特定的设置不能被改变或保存。 |
Regshot | 用它来比较两个注册表快照。 | 这个工具可以用来排解服务器配置/定制注册表设置的问题。 | |
Runin | 使用它来在另一个会话中运行一个应用程序,相当于在别一个控制台的另一个会话中运行一个应用程序。 | ||
SHADOW | 开启shadow功能,让你可以控制另一个用户的活动会话。 | ||
BareTail(Pro), BareGrep(Pro) | BareGrep是日志文件监控工具 BareTail是文件内容查找及文件内文本查找工具 | ||
soon_setup.EXE | 命令计划工具. | 可以结合PrintMigrator来实现驱动的复制. | |
Fiddler | 它还是一个http调试代理,它能够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅暴露http通讯还有提供一个用户友好的格式。 Fiddler 包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,他非常灵活性非常棒,可以支持众多的http调试任务。Fiddler 是用C#写出来的。 |