Archive for the ‘Windows’ Category

Using Host Files for UNC Paths

Friday, March 15th, 2013

Years ago I strongly advocated the use of host files for “better environment portability and mobility”. Over the years I’ve used this trick to simplify WCI patch installs, database migrations, and server upgrades.

But, one use of host files has always proven a bit troublesome – the UNC path for published content in WebCenter Interaction Publisher:

Specifically, in Windows Explorer, if you’re trying to access a share called “publish” on a machine called PROD-FILESERVER, you can type this in Windows Explorer:


If you are back-filling your database from production to a development environment, this name is also synchronized, and you certainly don’t want your Dev environment connecting to your Prod file server. The solution would be to use the host name aliases we’ve already discussed, so you could use a name like this:


… and then have WCI-NAS resolve to the respective file server in each environment.

This tweak, though, doesn’t work unless you use the trick found here: Disable Strict Name Checking.

NETBIOS enforces “strict name checking”, so connecting to a machine by name that’s not the actual machine name is prohibited by default. But that’s exactly what we want – our Production, Development, and Staging environments all using \\WCI-NAS\publish\ as the file share. That way, when we sync the database between environments, we don’t have to change the UNC paths all over the place.

In other words, to make this host file aliasing work work with UNC paths, you can just add a DWORD with a value of 1 called DisableStrictNameChecking to HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ LanmanServer\ Parameters.

Confirming and Waiting for a Server Reboot

Tuesday, March 12th, 2013

Problem: you RDP into one of your servers, install Windows Updates, and reboot. But you don’t know a) that the server successfully shut down, and b) when the server comes back up.

Solution: ping -t <servername>

Admittedly, this is a pretty trivial issue because you can just keep trying to initiate a Remote Desktop (RDP) connection, but a quick trick I use is “ping -t”, which repeatedly pings a machine and displays the response time.

Here’s a ping of “wciapps01”. When the machine finally reboots and comes back up is instantly visible – no more guesswork:

Running Plumtree Portal on IIS7 and Windows Server 2008

Wednesday, September 19th, 2012

The latest version of WebCenter Interaction (aka Neo, or 10gR4) officially added support for IIS7 and Windows Server 2008. But WCI 10gR3 – or (gasp!) Aqualogic User Interaction or Plumtree don’t since IIS 7 didn’t exist way back then. We’ve discussed how to get these older revisions working on 64-bit Windows, but many of you don’t have the luxury of upgrading Plumtree or have cancelled your support and maintenance contracts (and, if you haven’t, why not?) .

Still, time marches on, new application servers and operating systems are introduced, and your server team is antsy to get you to upgrade what you can. So, today’s post is about getting older versions of WCI working on IIS7 and Windows Server 2008. It’s – of course – not officially supported, but from my testing with WCI 10gR3 it seems to work OK. Your mileage may vary, and I can’t say I’ve actually supported a production environment running 10gR3 in this configuration yet, so proceed at your own risk.

The problem starts with the portal installer – you’re likely to see something like the following lines in your error logs:

“E:\bea\alui\installlogs\portalappserver_deployment.log”(51,13): [echo] ERROR: Web Site Default Web Site does not exist. Virtual directory cannot be created.
“E:\bea\alui\installlogs\WebCenter_Interaction_InstallLog.log”(38038,51): Additional Notes: FATAL ERROR – ANT post-installation action returned an error. See e:\bea\alui\uninstall\ptportal\10.3.0\register\configmgr_config-setup.log for details.
ANT Post-install Check:
Additional Notes: FATAL ERROR – ANT post-installation action returned an error. See e:\bea\alui\uninstall\ptportal\10.3.0\register\configmgr_config-setup.log for details.
ANT Post-install Check:
Additional Notes: FATAL ERROR – ANT post-installation action returned an error. See e:\bea\alui\uninstall\ptportal\10.3.0\register\configmgr_setup-service.log for details.
E:\bea\alui\uninstall\ptportal\10.3.0\register\register-configuration-manager.xml:191: E:\bea\alui\configmgr\2.0\bin\configmgr.url (The system cannot find the path specified)

Basically, this is telling you that the installer wasn’t able to deploy the web app to IIS7. But, it does copy all of the appropriate files, so they’re ready to be deployed manually. Read on for the steps to get started in getting your old portal working with the latest IIS Application Server… (more…)

Clear the recycle bin for all users

Tuesday, September 11th, 2012

Here’s an interesting problem I’ve run into recently with a Plumtree / ALUI / WCI server (but, of course, applicable to any server or desktop). A portal server was running out of disk space, and using the Cool Tool WinDirStat, I saw that D:\Recycler\ – the hidden Recycle Bin folder – was sucking down a ton of disk space, but my Recycle Bin was empty.

I knew deleting files in Windows simply moved them to a hidden folder (\Recycler – one hidden folder per drive), but didn’t realize it maintained a separate deletion history for each user. Turns out, since a lot of Systems Administrators had accessed the system before me, their recycle bins were consuming space – but because the folder was hidden, I couldn’t clear those out through Windows Explorer.

The solution was a Google Search away, and I came across this article from LifeHacker: Force Windows Recycle Bins to Empty for Every User on a System. This command simply deletes that hidden folder, effectively purging everyone’s recycle bin and reclaiming the lost space:

rd /s c:\recycler

Remember to run it as Administrator, and you may find some unused space you never knew was available. And don’t worry about breaking the Recycle Bin – Windows automatically recreates the folder when it’s not present.

Telnet to a port to see if a service is running

Wednesday, June 20th, 2012

We’ve talked about telnetting to a port before, so I’ll make this a quick one: Telnet can be a useful tool for making sure that a service is running and can be accessed from a particular server.

TCP communications – whether they’re web requests, mail transport, or WebCenter Interaction Services such as search – use the same transport layer that requires two IP addresses and two ports. You probably already know the necessary IP address of your servers, and don’t need to worry about your own IP and port (which is chosen automatically by the operating system), but once you identify the remote port of the service you want to check, it’s pretty easy to confirm that a service is at least responding.

Recent versions of Windows don’t install the telnet client by default, but if you go to the Control Panel and find “Turn Windows Features On and Off”, you can turn on the telnet client in Windows 7 (it’s under “Add/Remove Programs” in previous versions:

Once the Telnet client is installed, just open a command prompt and type:

telnet <server> <port>

For example, you can check that this site is responding on port 80 (the default HTTP port) by running:

telnet 80

Once you do, you’ll get a blank screen, and you can start typing commands the conform to the HTTP protocol, such as:

GET /site/integryst.i

The details of confirming the behavior are beyond the scope of this post, but the key thing you should take away is that if the screen goes blank when you type the telnet command, the server is responding. If you get a “Connect Failed” message, that means your machine couldn’t connect – and it’s likely that other services in your infrastructure can’t either.

And, if you do get that blank screen, you can exit out of the telnet session by hitting CTRL-] to get to the telnet prompt, then type “quit”.

Disconnect Terminal Service Sessions Remotely

Wednesday, June 6th, 2012

No doubt you’ve spent some time managing your servers remotely via Windows Terminal Services, and have run into this error:

“The terminal server has exceeded the maximum number of allowed connections”

In all likelihood, someone probably just forgot to disconnect their session, but now that you can’t get in there, how do you log them out? One option is to log into a different system, then open Control Panel: Administrative Tools: Terminal Services Manager. Next, open Actions: Connect to Another Computer, and you’ll see the active connections for that system. You can then bump off the disconnected sessions by right-clicking them.

Two other options:

  1. Use the command-line
  2. Log in as the console user with a command like this, which will open a session that’s very similar to what you’d see as if you were standing in front of the machine. Anyone else logged in as console will be booted out.
  3. mstsc /v:serverName /console

Use File:New Session to log in with another account

Thursday, May 24th, 2012

Here’s the situation: you’re a system admin logged in as administrator, but you need to see what the user interface of your portal looks like as a guest or other user. As you know, sessions are stored on the server, and web requests from your browser send a cookie to map to that session. If you use CTRL-N to open a new browser window, those cookies still get sent to the server, and you’re still logged in with that account.

But, in IE if you go to File: New Session, a new browser window will open, and the cookies will be cleared and maintained separately.

Boom – 2 browsers, 2 sessions:

How long has my Windows server been up?

Saturday, May 19th, 2012

When you have a dozen portal servers in an environment that need to be rebooted during Windows Updates, you occasionally find yourself on a Windows Server wondering when it was last rebooted.

Easy, just run:

net statistics server

Or, you could check the Event Log. Windows Server 2003 machines record their up-time every day at noon in the System Event Log:

Reset Password in a Remote Desktop Connection

Friday, May 11th, 2012

As a portal consultant, I’m often working on client servers using a domain account, and my local machine isn’t on the domain since I’m VPN’ing in remotely. But I need to change my passwords occasionally and can’t just use CTRL-ALT-DEL for that, since that key combination gets sent to my desktop.

To send CTRL-ALT-DEL to a remote desktop via RDP (Windows Remote Desktop), use CTRL-ALT-END in a Remote Desktop session to get the familiar password change dialog:

Fun fact: CTRL-ALT-DELETE is a Secure Attention Key, which basically means that unlike any other keystroke combination you can do (which applications, and therefore other malware, can intercept), it’s a special combination that only the OS is allowed to interact with.

Remote Desktop CTRL-ALT-DELETE

Sunday, October 16th, 2011

Simple one for you today, friends: As a WebCenter Interaction admin you no doubt use Microsoft Remote Desktop to connect to your portal servers. And you’ve no doubt had to kill a task or change your password.

The problem: you usually do this by just hitting Control-Alt-Delete on your machine to bring up the old Windows Security dialog, but when you’re in a Remote Desktop Session, CTRL-ALT-DEL brings that window up on your local desktop, not the remote one.

The solution: hit CTRL-ALT-END. Boom.