\[Editor's Note: Share your Windows 2000 and Windows NT discoveries, comments, problems, solutions, and experiences with products and reach out to other Windows 2000 Magazine readers (including Microsoft). Email your contributions (400 words or less) to r2r@win2000mag.com. Please include your phone number. We edit submissions for style, grammar, and length. If we print your submission, you'll get $100.\]

Simple Method to Change a Global Group's Properties
In Reader to Reader: "Simplify Changing a Global Group's Logon Scripts" (October 1999), Eric Higginbotham offers a solution for the time-consuming task of changing a global group's logon scripts. An alternative method to select all users in a local or global group is to open User Manager for Domains, choose the Select Users option from the Users menu, highlight a group, and click Select. This action highlights all members of that group. Select Properties from the User menu, and you can change the properties for all users in that group.

Service Control Utility
In Reader to Reader: "Startup Sequencer" (October 1999), Paul Bruesch explains the arduous process that he went through to solve problems with products starting up in an inappropriate sequence. You can use the Microsoft Windows NT Server 4.0 Resource Kit Service Control (sc.exe) utility to set one service's dependencies to another service.

For example, when my Informix server recently started, the event logs listed the following error message:

Application \[ccm_aci.exe\]. The application was started while the service manager was locked and NtLmSsp wasn't running. If the application will try to remote via WinSock Proxy it can cause a deadlock with the service manager. For this reason the remoting is disabled. If the application is a service, and you want it to be able to remote, make it dependent on NtLmSsp.

I used sc.exe to fix the problem. At a command prompt, I entered

C:\> sc query

This query listed all applications' service names and showed that ccm4.5_ess was the service name for the application ccm_aci.exe. Next, to set the dependency, I entered

C:\> sc config ccm4.5_ess depend= NtLmSsp

This command tells the OS to start NtLmSsp before ccm_aci.exe. For more information about sc.exe, go to a command prompt and type

sc config /?

Replace NTLDR to Fix NT Boot Problems
I ran into the same problem that Richard Free mentions in Letters to the Editor: "Multibooting Win98, NT Workstation, and NT Server" (October 1999). I was setting up Windows NT in an extended partition on a 9GB drive, and my system presented me with the following error message:

OS Loader v4.00
Boot Record Signature AA55 not found (8B08 found)
Win NT could not start because of a computer disk hardware configuration problem.

However, NT 4.0 Service Pack 5 (SP5) includes a fix for this problem. For more information about the problem, see the Microsoft article "Windows NT Does Not Boot to a Partition That Starts More Than 4 GB into Disk" (http://support.microsoft.com/support/kb/articles/q197/2/95.asp).

More About the Year 1900 Bug
In Reader to Reader: "Year 1900 Bug" (October 1999), Adel Homsy points out the following spreadsheet date bug:

When you enter a date in a spreadsheet cell, the program records the date as a decimal number: The digits before the decimal represent the date, and the digits after the decimal represent the time. The spreadsheet program converts this number into a meaningful calendar date, using the number 1 to represent January 1, 1900. The problem occurs when the program calculates subsequent dates: Number 31 represents January 31, 1900; number 59 represents February 28, 1900; number 60 represents February 29, 1900; and number 61 represents March 1, 1900. Therefore, number 36435 represents October 2, 1999. However, the year 1900 isn't a leap year, and the date February 29, 1900, doesn't exist. A correct date calculation algorithm would interpret the number 36435 as October 1, 1999.

Developers have built formulas based on the incorrect results of the bad date-conversion algorithm (e.g., they assume that 36160 is December 31, 1998). Thus, attempting to determine which formulas use the incorrect digital date equivalent and replacing them with the correct date equivalent would be a tricky and almost impossible undertaking. If administrators incorrectly modified formulas, this endeavor would invalidate huge numbers of existing spreadsheets.

A better solution is to simply accept the incorrect date equivalents and assume that the value 1 is equal to December 31, 1899 (or the imaginary date January 0, 1900). This solution means that users must understand that spreadsheets inaccurately display dates before March 1, 1900. I don't think this solution will cause problems because most spreadsheet users don't deal with that date range.

OLE variant data type conversion routines use this method to handle conversions: January 1, 1900, maps to the value 2, and the value 1 maps to December 31, 1899. Therefore, the routines behave properly (i.e., they're accurate given the appropriate base) and are interoperable with the spreadsheet standard for all dates on or after March 1, 1900.

Problem NT Workstation and Windows CE Connections
After looking over Casio Cassiopeia E-15's packaging, I thought that my new Windows CE device would be a snap to hook up to my Windows NT Workstation 4.0 desktop. I couldn't have been more wrong! After I loaded Windows CE 2.2 onto my NT Workstation desktop, I tried to establish a connection between the Cassiopeia's cradle and my Dell OptiPlex GX1's serial port. However, the devices wouldn't communicate.

After searching for an explanation and solution, I discovered the Microsoft article "Cannot Connect to Windows Using Windows CE Services" (http://support.microsoft.com/support/kb/articles/q176/0/47.asp). This article explained that I needed to create a locallat.txt file with an address range of 192.168.55.100 to 192.168.55.102. I created the locallat.txt file in the \mspclnt directory on the desktop machine. This file prevents the Windows CE device from setting up a control-channel connection with the proxy server and forces the device to use the local RAS server (i.e., Windows CE installed on the desktop) through the serial port.

Unfortunately, this solution didn't fix the problem. In desperation, I called Casio's support number, and the helpful support staff explained that I needed to reinstall NT Workstation Service Pack 4 (SP4) on the desktop because the Windows CE installation changes the network bindings order. After I applied SP4, the Cassiopeia and desktop worked together perfectly.

Not-So-Hidden Shares
In "Workstation Shares" (October 1999), Linda Locher addresses the question, "How do I create hidden shares?" Linda provides a method to create a hidden share and explains that "the share name won't appear in share listings and users who don't need access to the share won't know that it exists." This statement is true unless users start the Microsoft Windows NT Server 4.0 Resource Kit Network Watcher (netwatch.exe) utility. This tool's Show hidden shares option lets users who don't have administrative rights list servers' hidden shares.

Another Multibooting Menace
I had the same problem installing Windows NT Server on a new partition as Richard Free describes in Letters to the Editor: "Multibooting Win98, NT Workstation, and NT Server" (October 1999). I started with one 800MB hard disk that had two FAT16 partitions: a 400MB primary partition and a 400MB secondary partition that served as a logical drive in an extended partition. I added a 6GB hard disk, which I wanted to divide into three 2GB logical drives. I formatted the three logical drives as NTFS and tried to install NT Server on the partitions. I received the same error message that Richard received:

OS Loader v4.00
Boot Record Signature AA55 not found (8B08 found)
Win NT could not start because of a computer disk hardware configuration problem.

To solve this problem, I recreated the three logical drives. However, this time I made the first logical drive a 2GB primary partition, created an extended partition with the remainder of the disk, created two logical drives of 2GB each in the extended partition, formatted all three logical drives as NTFS, and tried to install NT Server. The installation was a success.

Time Synchronization
In response to Jane Lecian's time-synchronization tips in Reader to Reader: "Another Time Synchronization Tip" (November 1999), I have a simpler time-synchronization solution. To synchronize your computers' clocks, use the Microsoft Windows NT Server 4.0 Resource Kit TimeServ utility. This free tool runs as a service and has less chance of failing than the method Jane describes.

Using the Kernel Debugger to Start NT
I enjoyed Sean Daily's "Recovering From NT Startup Failures, Part 1" (September 1999) and "Recovering From NT Startup Failures, Part 2" (November 1999). However, Sean didn't mention that you can use the kernel debugger to start Windows NT. Although this method isn't as easy as setting up a parallel NT installation, the kernel debugger lets you debug remotely or through a null modem cable.

Selecting Start, Run and entering boot.ini enables the debugger to output information to a remote debugger so that a remote support technician can analyze the information. Administrators usually perform this process at the request of Microsoft support engineers so that the engineers can analyze a fatal NT error that they can't diagnose from the memory.dmp file (or if the NT system doesn't produce a memory.dmp file).

After you open boot.ini on the target system, you can add several options to the file to configure the debugger environment. Table 1 describes four additions you can make to boot.ini. Each entry in boot.ini's \[operating systems\] section should correspond to the options in the boot menu during a normal system startup. The following example is a typical boot.ini file:

\[boot loader\]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
\[operating systems\]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" Version 4"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" Version 4 \[VGA
mode\]" /BASEVIDEO
C:\="MS-DOS"

To enable the debugger, use COM1 to select the startup option that you usually use, add the /debug switch at the end of the line, specify the communications port, and add the switch /debugport=com1:

\[boot loader\]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
\[operating systems\]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" Version 4"
/debug /debugport=com1
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" Version 4 \[VGA
mode\]" /BASEVIDEO
C:\="MS-DOS"

Now you can attach a null modem cable and configure the system for a RAS session.

During the debugging session, you'll use the Microsoft Windows NT Server 4.0 Resource Kit remote.exe tool. This command-line utility uses a server component and a client component to let you run command-line programs on remote computers. To use remote.exe, the server component runs on the debugging system so that users can use the client component to connect to the debugging session from target systems.

The following steps walk you through setting up a remote debugging session:

  1. Configure the host computer as the Microsoft article "How to Set Up Windows NT Debug Symbols" (http://support.microsoft.com/support/kb/articles/q148/6/59.asp) describes. This article provides details about how to set up the host computer to debug the target computer.
  2. Copy all files from the \support\debug\i386 directory to a directory on the target system's hard disk, and copy remote.exe from the resource kit CD-ROM to the same directory on the hard disk.
  3. Use the Set command to set the environment variables. The _NT_SYMBOL_PATH variable points to the path of the symbols file that the debugger will use for the debug session, and the _NT_DEBUG_PORT variable points to the active serial port that the host computer is using for debugging. If this serial port isn't serial port 2, then you must use the _NT_DEBUG_PORT environment variable to point to the active serial port.

    For example, suppose you'll connect the host computer's null modem cable to serial port 1 and copy the symbols to the C:\debug\symbols directory. At a command prompt, type

    SET _NT_DEBUG_PORT=COM1
    SET _NT_SYMBOL_PATH=C:\DEBUGSYMBOLS
    SET _NT_DEBUG_LOG_FILE_APPEND=c:\temp\DEBUG.LOG
  4. Start the debugging session, then send it to the target system by typing the following command at a command prompt:
remote /s "i386kd -v" debug

Using the Keyboard to Access Windows 2000 GUI Functions
To use the keyboard to access the Windows 2000 (Win2K) GUI functions, you need to start by setting the focus on the Start menu. You can use three methods to set the focus: press Ctrl+Esc, press the Windows key, or click the Start menu. Then, press Esc to close the Start menu.

After you set the focus on the Start menu, you can press the Tab key to cycle forward among the following items and Alt+Tab to cycle backward:

  • Quick Launch Toolbar—Use the left, right, up, and down arrow keys to cycle among items in the toolbar. Press the Spacebar or Enter to select an item.
  • Toolbars—Use the left and right arrow keys to cycle among toolbar items, and press the Spacebar or Enter to select an item.
  • Tray (i.e., the status box that displays the clock in the lower right-hand corner of your screen)—Use the arrow keys to cycle among the items in the tray, and press the Spacebar for one mouse click, Enter for a double-click, and Shift+F10 for a right-click.
  • Desktop—Use the arrow keys to move between desktop items, and press Enter to activate an icon.