在很多中小企业的网络环境中,网管通常为客户机分配静态IP地址,然后针对不同的IP地址设置相应的权限。正是由于不同的IP地址具有不同的权限,所以企业中常有人通过修改IP地址来获取某种权限。这种行为是不正当的,还会引发IP地址冲突等问题,因此常常困扰着网管。用一种合适的方法限制用户修改IP地址是解决这一问题的良方。通常用的方法是给用户user权限,不给管理员权限,可达到目的,也可采用下面的方法,注册表法和组策略方法。
Windows 2000server里的组策略无法完善的实现禁止用户修改IP(客户端为Win2000Professional时生效,但对客户端为XP系统时就不生效了).但Windows2000 Server可以使用组策略及脚本停用Netcfgx.dll,Netshell.dll和Netman.dll三个动态库文件来现实此功能.
 
 
在Windows 2000/XP中存在Netcfgx.dll,Netshell.dll和Netman.dll三个动态库文件,它们实际上是系统控件,在Windows 2000/XP的安装过程中会自动注册这些控件。这三个控件和Windows 2000/XP的网络功能紧密相关。当修改IP地址时,就需要用到这三个控件。因此,只要将上述三个控件卸载,就可以屏蔽网络连接窗口,这样无论是双击桌面上的网上邻居图标,还是在控制面板中双击“网络连接”项,都无法正常进入网络连接窗口,也就无法在本地连接属性窗口中修改IP地址了。
  在“开始/运行”中输入“Cmd.exe”,确认后打开CMD窗口,在其中分别执行“Regsvr32 /u Netcfgx.dll”、“Regsvr32 /u Netshell.dll”、“Regsvr32 /u Netman.dll”命令,就可以将上述控件从系统中卸载。当然,如果以后需要修改IP地址的话,可以上述控件逐一注册即可。注册的方法很简单,只要将上述命令中的“/u”参数去掉,就可以执行注册操作了。例如执行命令“Regsvr32 Netcfgx.dll”就完成了控件Netcfgx.dll的注册。
 
 
相关知识:
 
域用户属性,登陆脚本
或者OU中建组策略,用户配置----windows设置----脚本---登陆脚本,按“添加”,加入脚本
或者“显示文件”,打开目录后把脚本复制进去。
 
(  注:  可把“Regsvr32 /u Netcfgx.dll”、“Regsvr32 /u Netshell.dll”、“Regsvr32 /u Netman.dll”三个命令编辑为批处理文件,使用以登陆脚本来运行即可。(只对2000Pro和XP系统有效,对2003系统无效。))
已知条件:要在用户John机器启动时候运行John.bat。
 
将要运行的配置文件John.bat放置在主域控制器的下列文件夹中(假定你将W2K AD Server 安装在C:\WINNT目录):C:\WINNT\SYSVOL\sysvol\xxx.com.cn\scripts,
然后在john(用户名)->属性->配置文件中进行如下设置:
配置文件路径: 什么都不填
登录脚本:john.bat
1、在DC上鼠标右击“我的电脑”----管理----共享文件夹,确保共享名为Netlogon的对应目录指向C:\WINNT\SYSVOL\sysvol\xxx.com.cn\scripts;
2、在用户John的电脑注销、登录,搞定。
如何使用 Start.exe 命令行工具在前台运行域登录脚本默认情况下,登录脚本在后台运行。您可以使用 Start.exe 命令行工具在运行 Windows 的计算机上运行本地和域登录脚本。
更多信息
 
要使用 Start.exe 创建在前台运行的域登录脚本,请创建一个名为 Logon.bat 的文件,该文件包含您要运行的命令。然后,创建一个名为 Newfile.bat 的文件来调用 Logon.bat 文件。将这两个文件放在域控制器上的 Netlogon 共享中。在基于 Windows 的域中,在 Microsoft 管理控制台 (MMC) 中启动“Active Directory 用户和计算机”工具,然后配置用户以将 Newfile.bat 文件用作登录脚本。
注意:在基于 Microsoft Windows NT 4.0 的域中,启动“域用户管理器”工具,然后配置用户以将 Newfile.bat 文件用作登录脚本。
在 Newfile.bat 文件中包含下面一行:
start /max logon.bat
当用户登录时,登录脚本就会在前台运行。
注意:本文中使用的文件名 Logon.bat 和 Newfile.bat 仅用于说明。您可以使用其他文件名。
 
用于基于 Windows 的客户端的首选方法
对于基于 Windows 的客户端,首选方法是使用“组策略”控制登录脚本的用户环境。登录脚本可以使用以下“组策略”设置: • 用户配置\管理模板\系统\登录/注销 • 禁止注销
• 同步运行登录脚本
• 以隐藏形式运行现用登录脚本
• 以可见形式运行登录脚本
• 显示注销脚本的运行状态 
 
• 计算机配置\管理模板\系统\登录 • 同步运行登录脚本
• 以隐藏形式运行现用登录脚本
• 显示启动脚本的运行状态
• 显示关机脚本的运行状态
• 组策略脚本的最长等待时间 
 
在Windwos 2000]\windows xp中通过修改微软操作系统的组策略设置来限制用户修改IP地址。方法步骤如下:
1.单击开始运行,在文本框中输入命令“GPEDIT.MSC”后,单击确定按钮。(如图1
2.组策略(或组策略编辑器)窗口中,依次展开左侧子窗口中的本地计算机策略用户配置管理模板网络网络及拨号连接项目。(如图2
3.双击右侧子窗口中的禁止访问LAN连接的属性选项,在新弹出的禁止访问LAN连接的属性窗口中,单选启用选项,单击确定按钮。(如图3
4.关闭组策略窗口(如果要开放修改IP地址权限,只需将图3中的未配置单选项选中即可)
5.验证效果。双击系统托盘上的本地连接图标,属性按钮已经变成灰色(如图4),无法打开网络属性,自然也就不能修改IP地址。需要说明的是,必须事先在本地连接的属性框中选择连接后在任务栏中显示图标。(见图5
防止用户修改IP地址的方法还有停止服务法(停止“Network Connections”服务)、反注册动态连接库法(反注册Netcfgx.dllNetshell.dllNetman.dll文件)等。但是笔者推荐本文介绍的组策略法,主要是基于以下两个原因:第一,用停止服务法和反注册动态连接库法,必须重启操作系统才能生效,而用组策略法,一旦设置成功,无需重启操作系统,立即生效。第二,用户在查看网络本地连接状态时,通常会通过观察系统托盘上的本地连接图标来直观地判断网络连接情况,还可以双击该图标了解数据包收发的情况。使用停止服务法或反注册动态连接库法,本地连接图标将不会出现在系统托盘上,而使用组策略法不会影响本地连接图标的显示。

 
 
禁止修改IP地址原理

方法一:修改注册表法
  注册表在Windows操作系统中起着很关键的作用,利用注册表的键值,可以屏蔽“Internet协议(TCP/IP)属性对话框。
  1.单击开始→“运行,在运行对话框的打开下拉文本框中输入命令“Regedit”(仅双引号内文字)后,单击确定按钮。
  2.注册表编辑器窗口中,依次展开左侧子窗口中的“HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Network Connections分支;
  3.在右侧子窗口的空白处单击鼠标右键,选择新建→DWORD菜单(或者直接单击菜单栏中的编辑新建→DWORD),新建一个DWORD键值。
  4.将新建的DWORD键值命名为“NC_LanChangeProperties”,并赋值为“0”
  5.新建的DWORD键值命名为“NC_EnableAdminProhibits”,并赋值为“1”,关闭注册表编辑器窗口。
方法二:停止服务法
  服务是Windows 2000/XP/2003操作系统中新增的功能,与本地连接属性对话框直接关联的服务是“Network Connections”。因此只要停止该服务的运行,就不能打开本地连接属性对话框,也就无法修改IP地址了。
  1.单击开始运行菜单,在打开下拉文本框中输入命令“services.msc”(仅双引号内文字)后,单击确定按钮。或者,单击开始控制面板,在控制面板窗口中双击管理工具图标,再双击服务图标。
  2.服务窗口右侧子窗口中,双击名为“Network Connections”的服务,单击服务状态处的停止按钮停止该服务的运行,再将启动类型处的值设为已禁用选项,最后单击确定按钮即可。
  从此以后,虽然在网络连接窗口中仍可看见本地连接图标,但单击右键快捷菜单中的属性后,会提示出现意外错误,无法打开本地连接属性对话框,这样就无法修改IP地址了。
注意:
这种方法存在两个弊端:
  1.当用户单击查看刷新后,会得到错误信息对话框。稍微懂行的用户按提示信息就能轻而易举地破解。
  2.由于“Network Connections”服务与网络连接有关,所以该服务被禁用后会影响到所有访问网络的操作,而且依赖此服务的“Windows防火墙功能和“Internet连接共享功能也将停止工作。
  因此,除非计算机不接入任何网络中,否则不要使用这种方法。
方法三:注销动态链接库文件法
  在Windows 2000/XP/2003 Server操作系统中,有三个动态链接库文件(Netcfgx.dllNetshell.dllNetman.dll)与网络功能有关。只要将这三个文件注销,就能屏蔽网络连接窗口,也就能禁止通过本地连接属性对话框修改IP地址。
  1.单击开始运行菜单,在打开下拉文本框中输入命令“regsvr32 Netcfgx.dll /u”(仅双引号内文字)后,单击确定。如果执行成功,将显示提示信息。
  注意:命令中的regsvr32Netcfgx.dll之间,Netcfgx.dll/u之间,均需用空格间隔开。
  2.Netcfgx.dll换成Netshell. dllNetman.dll重复执行即可。
  以后,无论是单击网上邻居右键菜单中的属性,还是双击控制面板窗口中的网络连接图标(实际上图标也更改了),都无法打开网络连接窗口,这样就无法通过本地连接属性对话框来修改IP地址了。
  如果要恢复修改IP地址的功能,只要将上述命令中的“/u”参数删除,然后重新执行一遍就行了。
方法四:修改组策略法
  在Windows 2000/XP/2003 Server操作系统中系统策略管理器工具是默认的安装组件,用户只需运行命令“gpedit.msc”就可打开该工具,但名称更改为组策略Windows 2000/XP系统)或组策略编辑器Windows 2003 Server系统)。
  1.单击开始运行,在打开下拉文本框中输入命令“gpedit.msc”(仅双引号内文字)后,单击确定按钮。
  2.组策略组策略编辑器窗口中,依次展开左侧子窗口中的本地计算机策略用户配置管理模板网络网络连接项目。
  3.双击右侧子窗口中的禁止访问LAN连接组件的属性选项,再单击禁止访问LAN连接组件属性对话框中的已启用单选按钮,单击确定按钮。
  4.最后,关闭组策略组策略编辑器窗口即可。
  以后,当普通用户打开本地连接属性对话框,选中此连接使用下列项目列表框中的“Internet协议(TCP/IP)”项目时,会发现其下的属性按钮已经变为灰色了,不能打开“Internet协议(TCP/IP)属性对话框了,也就无法更改IP地址了。
  但是,此方法对以管理员身份登录系统的用户而言可能会无效,此时就还需启用为管理员启用网络连接设置选项,才能禁用属性按钮。
  建议采用注销动态链接库文件法