Here is an overview of some tools which are being used by the folks at RES to figure out if something unexpectedly goes out of whack in your installation. This second revision of the article covers the following tools:
- Enabeling PowerFuse Tracing (BuildingBlock/Reghack)
- EditUPR (obsolete)
Note, these tools are not available from the RES portal at this time. Previously we stated that these tools were available from the support department. This is not the case. At the request of RES, we’ve updated this article to reflect the availability of these tools. Please do not call the guys at support as they are not allowed to give out copies of the tools as they are mostly for internal use. So how do you get them? Uhm, that’s a good question. The best option is probably to ask around your network for the time being. We here at the Guru will try to see if they’ll let us post the tools here in the future. There is also rumors of a RESource kit in the future (has a nice ring to it, eh? :) But nothing official is out yet about this.
Right, with that clarified let’s get on with it:
Even though most installations go quite smooth, once in a whole you run into something which is behaving in a non expected manner. Back in the PowerFuse 7x days, where the PF database was sitting on a fileshare, we could face a fair amount of suffering if the fileserver was behaving erraticly. Speaking from experience, it could turn out from anything from a heavily fragmented disk, over a bad NIC driver to a faulty switch somewhere inbetween the PowerFuse client and the server. Another present-day example of a potential weak point, would be the domain controller(s). If the current DC is slow to respond or otherwise behaving badly it may affect the performance of everything asks it for anything, PowerFuse included.
To find out where the problem is burried, the process of elimination is usually a good method to employ. However, sometimes you just have a hunch. This is hard to explain, but it comes with the territory, when you’ve been minding an installation for some time. Either way if you have a suspicion that your DC is to blame, it makes good sense to time the operations, specifically the ones which PowerFuse do anyway, such as enumerating AD objects like users, groups and OU’s. For this purpose, RES has a nifty tool called DSbrowse. Some of you RES old-timers out there may recall a tool affectionatly called TIM the Toolman. DSbrowse is the evolution of this tool.
DSbrowse looks like this (click to enlarge)
DSbrowse will allow you to time a number of different AD read operations such as enumerating all users, groups, group members, OU’s, Computers. DSbrowse uses the same code as PowerFuse would use to do the same operation. Recently a customer experienced very slow console loads, even with Background loading enabled. Turned out it took the DC 20-25 seconds to return OU information. The timing in seconds is displayed in the bottom middle part of the dialog box. Note that you have the option of querying both local accounts, regular NT and 2000+ domains. This is specified in the top middle dropdown dialog box. If your DC for some reason is close to coughing up blood, DSbrowse will let you know about it.
While DSbrowse is pretty much straight forward, the RES PowerFuse Trace viewer is somewhat more specialized towards finding out what’s going on under the hood of PowerFuse. What it does is intercept the calls to the functions in PowerFuse. Most of the info is probably best utilized in the hands of a RES developer, as they obviously know what’s going on. Nevertheless it may be interesting to see what’s actually going on when PowerFuse is running. The tool looks like this (click to enlarge):
RESPFTraceView is the tool of choice when you want to have a real-time, filtered view of what’s going on. You can compare the functionality of this utility to what Sysinternal’s Process Monitor (a bloody great tool also) does for the registry and filesystem.
Now, a tool like RESPFTraceView is nice when you want to keep an eye on things in realtime, however we might alternatively desire to have a good old-fashioned logfile. This is especially usefull if something fishy is going on and you’re having RES Support help you out. Having created a tracefile ahead of opening a support ticket may likely help speed things up. Note: The created logfile will be preallocated with zeroes and always remain 2048k in size.
Enabeling RES PowerFuse tracing consists of setting up the following HKLM registry keys. You can copy the following to a .reg file to enable PowerFuse Tracing:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\RES\PowerFuse] "Trace"="Yes" "TraceDetailed"="Yes" "TraceFile"="C:\SomeFolder\PFTrace.log"
Note1: Do NOT insert any variables such as %temp%, %windir%, etc. in the TraceFile value above. In PowerFuse 2008 SR5 it will lead to unpredictable results. We’ve seen stuff like the tracefile being written to the Desktop folder. In short don’t do this.
Note2: The users must have access to the folder where you place the TraceFile. If this is not the case, you cannot log any information from the WorkSpace Composer (pfwsmgr.exe), as it runs in the context of the user.
Alternatively, if you’d like to have this enabled across many computers, and you just happen to have RES Wisdom around, you may also consider downloading and importing the following buildingblock. This one will prompt you for the necessary iniformation, restart the RES PowerFuse service for you, and even grab a copy of the log as it looks right after, so you can view it centrally in your Wisdom console. “It Slices – It Dices” ! :-)
EditUPR is another internal RES utility for viewing the contens of User Preference files, which are stored in the users homedirectory underneath \PwrMenu\UserPref. The UPR files may contain user specific security details, which is why they are preventively encrypted by PowerFuse. EditUPR looks like this (click to enlarge)
The save button allows you to export a .REG file based on the contens of the User Preference file.
Updated 04-Dec-2009: Note that in the PowerFuse 2010 release, this tool becomes obsolete because a) the user preferences of today will become obsolete and second, because this functionality will be built into the PowerFuse Console