Wednesday, February 21, 2007
I'm also surprised I did so well because I haven't had as much time to study as I would have liked. Some other things are in the works which are consuming lots of time and stress, but more on that soon.
Now onto 70-291: Implementing, Managing, and Maintaining a Microsoft Windows Server 2003 Network Infrastructure
Thursday, February 15, 2007
Reason #87 to hate Java
When you install the Citrix Management Console (CMC) for PS4 it also installs the Java Runtime Environment (JRE) 1.4.2_06. It's a requirement for the console. Citrix Support doesn't provide any specific guidance (that I can find) on upgrading the JRE to a newer version. Several posts in the support forums and on Brian Madden's site suggest that it's doable, but might cause some issues (e.g., having to reinstall the CMC).
As we're all now very well aware (or should be!) Daylight Savings Time starts early this year and the JRE is one of the affected products. Sun's guidance is to upgrade or apply a patch which only works on certain versions, of which 1.4.2_06 is one. Fantastic.
In this environment the Citrix servers support a single LOB application that requires connectivity to an Oracle database, thus the Oracle runtime client is installed, something like v9.1.
I recently tried to apply the Sun tzupdater patch to one of the Citrix servers and it failed. So I ran
java -version, to find that 1.4.2_06 was not the registered version, but 1.3.1_01. Wa-huh? As it turns out, Oracle requires a JRE during installation so buried in the Oracle program directory is this older version of the JRE which is not compatible with the TZUpdater. Argh!
Oracle Frustration: when installing the Oracle client tools why does it require this older JRE to be installed? (I checked - it's a dependency during installation that cannot be unchecked.) Why not just check for and use an existing version? Also, why doesn't it register itself or the JRE with the OS like every other application? Checking Add/Remove Programs - JRE 1.4.2_06 is there, but nothing about Oracle or the older JRE.
Java Frustration: isn't Java supposed to unite the industry in harmony or something? Allow developers to write code once and then run it anywhere regardless of platform? So then why does it make things MORE complicated? Why all of these minor versions and interdependencies? What a mess! And don't even get me started about Java performance....
Anyway, here's how I fixed this unholy mess:
- Java Control Panel, Advanced tab, explicitly set JRE to 1.4.2_06 instead of plug-in default (I don't know if this is necessary, but I felt better about forcing it to that version)
pathman /rs "C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin"to remove the old version from the path (1.4.2_06 doesn't list itself in the path). NOTE: pathman is part of the 2003 Resource Kit.
- Logoff and back on. Running
java -versionnow shows the correct 1.4.2_06, and running tzupdater works ok.
Thursday, February 08, 2007
Folder ACL Dump
So today I needed to dump to file NTFS permissions for all folders on a large drive. (When trying just a simple
cacls /t /c *.* > cacls.txtthe command was failing on one file deep in the folder structure.) So I'm going to assume that the files inherit the permissions of the parent folder and just dump the folder ACLs (this is only a precaution for a hardware change this weekend).
So I wanted to try and dump the ACLs for all folders by using the command line. I tried a few options, did some research, and eventually came up with the following single-line command:
D:\>FOR /R %A IN (.) DO cacls "%A" >> cacls.txt
FOR /R recursively loops through the directory tree, so it actually causes the following sort of command to be repeatedly run:
D:\>cacls D:\directory1\. >> cacls.txt
D:\>cacls D:\directory1\directory1\. >> cacls.txt
D:\>cacls D:\directory1\directory2\. >> cacls.txt
Which then yields the following sort of output in cacls.txt:
There's probably an easier way to do this (come on, Patrick, I know you want to comment!), but it was quick enough for me to come up with this and it produced the output I wanted.
Tuesday, February 06, 2007
Server Reboot Monitor Script
Just running it will show you the usage (rebootwatch server_name)
REM Server Restart Watch script
REM Aaron Czechowski, Caveo Network Solutions, February 2007
IF !%1==! GOTO Syntax
ECHO Waiting for %1 to shutdown...
ping %1 -n 1 > NUL 2>&1
IF %errorlevel% EQU 0 GOTO ShutdownLoop
ECHO %1 is not responding.
ECHO Waiting for %1 to restart...
ping %1 -n 1 > NUL 2>&1
IF %errorlevel% EQU 1 GOTO RestartLoop
ECHO %1 is responding.
ECHO Waiting for RDP to come alive...
portqry -n %1 -e 3389 > NUL 2>&1
IF %errorlevel% EQU 1 GOTO RDPLoop
ECHO %1 is listening on TCP 3389
ECHO %1 should now be ready to access again.
ECHO Usage: RebootWatch server_name
Sunday, February 04, 2007
Quickly Tile Windows
CTRL-select multiple windows, right-click and select Cascade, Tile Horizontally or Tile Vertically.
Courtesy of LifeHacker.
Friday, February 02, 2007
Up next: 70-290 Managing and Maintaining a Microsoft Windows Server 2003 Environment
Thursday, February 01, 2007
Road to MCSE
So the plan is an exam every two weeks:
- 70-270 Installing, Configuring, and Administering Microsoft Windows XP Professional (2/2)
- 70-290 Managing and Maintaining a Microsoft Windows Server 2003 Environment (2/16)
- 70-291 Implementing, Managing, and Maintaining a Microsoft Windows Server 2003 Network Infrastructure (3/2)
At this point I'll be an Microsoft Certified Systems Administrator (MCSA).
- 70-293 Planning and Maintaining a Microsoft Windows Server 2003 Network Infrastructure (3/16)
- 70-294 Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure (3/30)
- 70-298 Designing Security for a Microsoft Windows Server 2003 Network (4/13)
So if all goes well I'll be a MCSE on Windows Server 2003 by mid-April. Can I keep up the pace? I hope to - I've been working with this stuff for several years now, so the plan is to study hard for two weeks, focusing on the areas I don't use regularly. I know things will only get harder as they progress, but I'm optimistic.
Stay tuned for the results in the coming weeks....