禁止修改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地址了。

  但是,此方法对以管理员身份登录系统的用户而言可能会无效,此时就还需启用“为管理员启用网络连接设置”选项,才能禁用“属性”按钮。
  建议采用“注销动态链接库文件法”。

 

补充知识:在很多中小企业的网络环境中,网管通常为客户机分配静态IP地址,然后针对不同的IP地址设置相应的权限。正是由于不同的IP地址具有不同的权限,所以企业中常有人通过修改IP地址来获取某种权限。这种行为是不正当的,还会引发IP地址冲突等问题,因此常常困扰着网管。用一种合适的方法限制用户修改IP地址是解决这一问题的良方。通常用的方法是给用户user权限,不给管理员权限,可达到目的,也可采用下面的方法,注册表法和组策略方法。

Windows 2000server里的组策略无法完善的实现禁止用户修改IP(客户端为Win2000Professional时生效,但对客户端为XP系统时就不生效了).Windows2000 Server可以使用组策略及脚本停用Netcfgx.dllNetshell.dllNetman.dll三个动态库文件来现实此功能.


Windows 2000/XP中存在Netcfgx.dllNetshell.dllNetman.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”三个命令编辑为批处理文件,使用以登陆脚本来运行即可。(只对2000ProXP系统有效,对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文件)等。但是笔者推荐本文介绍的组策略法,主要是基于以下两个原因:第一,用停止服务法和反注册动态连接库法,必须重启操作系统才能生效,而用组策略法,一旦设置成功,无需重启操作系统,立即生效。第二,用户在查看网络本地连接状态时,通常会通过观察系统托盘上的“本地连接”图标来直观地判断网络连接情况,还可以双击该图标了解数据包收发的情况。使用停止服务法或反注册动态连接库法,“本地连接”图标将不会出现在系统托盘上,而使用组策略法不会影响“本地连接”图标的显示。