I'm working on a script that uses Windows Management Instrumentation (WMI) to collect hardware and software information in a mixed OS environment. Most of our desktops run Windows 98 Second Edition (Win98SE); a few desktops run Windows 2000 Professional. My script runs great against the Win2K Pro computers, but when the script tries to connect to a Win98SE computer, I get a remote procedure call (RPC) error. Can I use a WMI script to access a Win98SE computer remotely?

You can use WMI to access your Win98SE computers remotely, but you first need to configure your Win98SE computers to accept remote Distributed COM (DCOM) connections. Although the WMI software development kit (SDK) describes the steps you need to take, those steps contain some errors. The correct steps, which I adapted from the WMI SDK, are as follows. On a Win98SE computer:

  1. Use the registry editor to navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole subkey.
  2. Set the EnableDCOM value (of type REG_SZ) to Y if it isn't already set. Y is the default setting.
  3. Set the EnableRemoteConnect value (of type REG_SZ) to Y. N is the default setting.
  4. Navigate to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\CIMOM subkey.
  5. Set the AutostartWin9x value (of type REG_SZ) to 1 or 2. For information about each setting's meaning, see the topic "Automatically Invoking WMI on Windows 95/98" (http://msdn.microsoft.com/library/en-us/wmisdk/wmi/automatically_invoking_wmi_on_windows_95_98.asp?frame=true) in the WMI SDK.
  6. Add the winmgmt.exe file to the Win98SE computer's Startup directory. You can find winmgmt.exe in the %windir%\system\wbem directory.
  7. Restart the Win98SE computer.