远程修改嵌入式NT4.0系统的网络设置

嵌入式系统中,经常会遇到一些配置上的挑战,尤其是在资源受限的环境中。例如,一个运行NT4.0操作系统的嵌入式机器,可能没有键盘、显示器,只能通过网络连接进行操作。本文将介绍在这种情况下,如何远程修改计算机和网络主机名,以及如何选择使用DHCP或静态IP地址,并如何更改静态IP地址。

嵌入式NT4.0机器,操作系统配置非常基础。没有键盘(键盘驱动程序为空),没有屏幕(视频驱动程序为空)。只能通过网络连接来访问这台嵌入式机器。

问题概述

需要解决的问题包括:

  • 如何更改计算机和网络主机名?
  • 如何在DHCP和静态IP地址之间进行选择?
  • 如何更改静态IP地址?

解决方案

虽然可以通过像VNC、PC-Anywhere这样的工具连接到机器,并使用控制面板更改网络设置,但基础系统并没有控制面板。

另一种方法是使用远程注册表编辑器如regedt32.exe来更改嵌入式机器上的所有必要注册表项,但这并不是生产环境中的理想解决方案,而且在需要在现场更改某些内容时可能会遇到问题。

可以使用IPConfig.exe(可在NT资源包中找到,但它只处理部分所需功能)来尝试解决部分问题。

或者,可以编写自己的程序来远程操作注册表。

通过参考CodeGuru文章“Change IP Address and HostName of NT machine”(作者Massimo Negroni)和MSDN文章Q194407,以及Len Holgate提供的出色的注册表API包装类(),编写了一个小型的Win32命令行程序来更改上述注册表设置。更改后需要重启。

(如果有人知道如何在NT4上不重启就更改IP地址的方法,请告诉)

程序使用指南

如果性格完全符合以下描述,那么请使用它:

  • 是一个命令行爱好者。
  • 需要为嵌入式NT 4.0编程
  • 喜欢冒险。
  • 是一个系统管理员,想要为只有一块网卡的目标NT机器跨网络更改静态IP地址。

像所有注册表操作一样,在尝试更改之前,应该先备份注册表。相信,在调试这个小程序时,确实搞砸了一两个系统注册表...

请自行承担风险使用。(注:这意味着首先在‘测试’机器上针对特定网络配置进行测试)。

实现信息

最重要的注册表键值对,用于使用或修改:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DHCP
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\1
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\(network card name)\Parameters\TCPIP
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters

构建信息

下载Len Holgate的注册表API包装源代码。

创建一个Win32多线程DLL控制台项目,并将Main.cpp、NWConnectionSettings.h和NWConnectionSettings.cpp与注册表API包装类放在同一目录(和项目)中。

如果没有提供命令行参数,将检索本地计算机的设置。

要检索和更改远程网络计算机的设置,请指定网络计算机名称作为参数。

程序运行需要管理员权限。

适用于NT 4.0或NT Embedded 4.0。

为所有挣扎中的嵌入式NT用户发布。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485