如何重新获得使用脚本远程管理运行SP2 的计算机的能力
2008-04-03 11:44
489 查看
对于已经安装了SP2 的Windows XP ,如何实现远程管理?
背景: 域 环境下, 对于 操作系统是 Windows XP SP2 的工作站,无法继续 实施远程 维护?
在SP2 之前的系统,如 Windows 2000的各种版本, 未带防火墙的各种 XP , 加入域后
工作站上有两个本地组自动添加如下成员
Local Administrators 自动添加了 Domain Admins
Local Users 里面自动添加了 Domain Users
管理员可以在 控制器上实现对 工作站的 远程管理(管理方包括 mmc.exe , 脚本,命令行 ...)
但是, 如果工作站是, 带防火墙 的 XP , 默认情况下,这一切管理将变得 不可能了
为什么呢?
事实上,Service Pack 2 新的 Windows 防火墙(Service Pack 2 中不仅将其默认启用,并且还将其配置为我们所能够想到的最安全的设置)多数情况下会禁止组策略以外的任何其他方法远程管理这些计算机。这就是 不能远程管理您的计算机的原因。
默认情况下,这个规则没有例外。脚本无法通过,命令行工具和 MMC 管理单元无法通过,其他任何东西也都无法通过。实际上,默认情况下,只有一样东西可用于管理运行 Service Pack 2 的计算机,那就是组策略。这是因为组策略不是未经请求的传入通信量。当您的计算机启动时(或用户登录时),计算机会与 Active Directory 联系并请求应用组策略。这使得组策略成了经请求的 通信量,从而使得它能够穿过防火墙。
这也适用于登录和注销脚本以及计算机启动和关机脚本。因为这些脚本是由组策略的上下文指派的并且是在组策略的上下文中运行的,所以它们能够通过防火墙。不过,在工作站上启动的试图连接到远程计算机的任何脚本都将被拒绝;毕竟,这样的脚本属于未经请求的传入通信量。
如何才能重新获得使用脚本远程管理运行 Service Pack 2 的计算机的能力?
关键是,防火墙 参数里面有一条:文件和打印共享 ,需要 启用 此规则(此规则实质上,是 打开137,138,139,445...端口)
经过试验,我找到下面的方法, 实践证明,是可行的
用以下的方法可以实现:
1.管理员亲自 到 每台 工作站 上 更改防墙的设置;(此办法,太麻烦,并且有许多不便之处)
1.在 域 控制器 上编写一个 启动脚本, 此脚本的作用是,修改以上 的防火墙 参数;
我写的脚本,是由两个文件组成,一个是,注册表文件 fire.reg
另外一个是,批处理文件,内容就是导入上述 注册表文件 regedit.exe -s fire.reg
下面是标准的 reg格式文件,
注意,
第一行与第二行之间,有一空行
然后,结束,还有 两行空行
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"DoNotAllowExceptions"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"DoNotAllowExceptions"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"DoNotAllowExceptions"=dword:00000000
配置 Windows 防火墙组策略
请与您的网络管理员联系,确定组策略设置是否禁止程序和方案在企业环境中运行。
Windows 防火墙组策略设置位于以下“组策略对象编辑器”管理单元路径中: • 计算机配置/管理模板/网络/网络连接/Windows 防火墙
• 计算机配置/管理模板/网络/网络连接/Windows 防火墙/域配置文件
• 计算机配置/管理模板/网络/网络连接/Windows 防火墙/标准配置文件
从这些位置,您可以配置以下组策略设置: • Windows 防火墙:允许已验证的 Internet 协议安全 (IPSec) 绕过
• Windows 防火墙:保护所有网络连接
• Windows 防火墙:不允许例外
• Windows 防火墙:定义例外程序
• Windows 防火墙:允许本地程序例外
• Windows 防火墙:允许远程管理例外
• Windows 防火墙:允许文件和打印共享例外
• Windows 防火墙:允许 ICMP 例外
• Windows 防火墙:允许远程桌面例外
• Windows 防火墙:允许通用即插即用 (UpnP) 框架例外
• Windows 防火墙:禁止通知
• Windows 防火墙:允许日志记录
• Windows 防火墙:禁止对多播或广播请求进行单播响应
• Windows 防火墙:定义例外端口
• Windows 防火墙:允许本地端口例外
有关 Windows 防火墙组策略设置的更多信息,请下载下面的白皮书:
Deploying Windows Firewall Settings for Microsoft Windows XP with Service Pack 2(对安装了Service Pack 2 的 Microsoft Windows XP 部署 Windows 防火墙设置)
背景: 域 环境下, 对于 操作系统是 Windows XP SP2 的工作站,无法继续 实施远程 维护?
在SP2 之前的系统,如 Windows 2000的各种版本, 未带防火墙的各种 XP , 加入域后
工作站上有两个本地组自动添加如下成员
Local Administrators 自动添加了 Domain Admins
Local Users 里面自动添加了 Domain Users
管理员可以在 控制器上实现对 工作站的 远程管理(管理方包括 mmc.exe , 脚本,命令行 ...)
但是, 如果工作站是, 带防火墙 的 XP , 默认情况下,这一切管理将变得 不可能了
为什么呢?
事实上,Service Pack 2 新的 Windows 防火墙(Service Pack 2 中不仅将其默认启用,并且还将其配置为我们所能够想到的最安全的设置)多数情况下会禁止组策略以外的任何其他方法远程管理这些计算机。这就是 不能远程管理您的计算机的原因。
默认情况下,这个规则没有例外。脚本无法通过,命令行工具和 MMC 管理单元无法通过,其他任何东西也都无法通过。实际上,默认情况下,只有一样东西可用于管理运行 Service Pack 2 的计算机,那就是组策略。这是因为组策略不是未经请求的传入通信量。当您的计算机启动时(或用户登录时),计算机会与 Active Directory 联系并请求应用组策略。这使得组策略成了经请求的 通信量,从而使得它能够穿过防火墙。
这也适用于登录和注销脚本以及计算机启动和关机脚本。因为这些脚本是由组策略的上下文指派的并且是在组策略的上下文中运行的,所以它们能够通过防火墙。不过,在工作站上启动的试图连接到远程计算机的任何脚本都将被拒绝;毕竟,这样的脚本属于未经请求的传入通信量。
如何才能重新获得使用脚本远程管理运行 Service Pack 2 的计算机的能力?
关键是,防火墙 参数里面有一条:文件和打印共享 ,需要 启用 此规则(此规则实质上,是 打开137,138,139,445...端口)
经过试验,我找到下面的方法, 实践证明,是可行的
用以下的方法可以实现:
1.管理员亲自 到 每台 工作站 上 更改防墙的设置;(此办法,太麻烦,并且有许多不便之处)
1.在 域 控制器 上编写一个 启动脚本, 此脚本的作用是,修改以上 的防火墙 参数;
我写的脚本,是由两个文件组成,一个是,注册表文件 fire.reg
另外一个是,批处理文件,内容就是导入上述 注册表文件 regedit.exe -s fire.reg
下面是标准的 reg格式文件,
注意,
第一行与第二行之间,有一空行
然后,结束,还有 两行空行
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile\GloballyOpenPorts\List]
"139:TCP"="139:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22004"
"445:TCP"="445:TCP:LocalSubNet:Enabled:@xpsp2res.dll,-22005"
"137:UDP"="137:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22001"
"138:UDP"="138:UDP:LocalSubNet:Enabled:@xpsp2res.dll,-22002"
"3389:TCP"="3389:TCP:*:Disabled:@xpsp2res.dll,-22009"
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"DoNotAllowExceptions"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"DoNotAllowExceptions"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"DoNotAllowExceptions"=dword:00000000
配置 Windows 防火墙组策略
请与您的网络管理员联系,确定组策略设置是否禁止程序和方案在企业环境中运行。
Windows 防火墙组策略设置位于以下“组策略对象编辑器”管理单元路径中: • 计算机配置/管理模板/网络/网络连接/Windows 防火墙
• 计算机配置/管理模板/网络/网络连接/Windows 防火墙/域配置文件
• 计算机配置/管理模板/网络/网络连接/Windows 防火墙/标准配置文件
从这些位置,您可以配置以下组策略设置: • Windows 防火墙:允许已验证的 Internet 协议安全 (IPSec) 绕过
• Windows 防火墙:保护所有网络连接
• Windows 防火墙:不允许例外
• Windows 防火墙:定义例外程序
• Windows 防火墙:允许本地程序例外
• Windows 防火墙:允许远程管理例外
• Windows 防火墙:允许文件和打印共享例外
• Windows 防火墙:允许 ICMP 例外
• Windows 防火墙:允许远程桌面例外
• Windows 防火墙:允许通用即插即用 (UpnP) 框架例外
• Windows 防火墙:禁止通知
• Windows 防火墙:允许日志记录
• Windows 防火墙:禁止对多播或广播请求进行单播响应
• Windows 防火墙:定义例外端口
• Windows 防火墙:允许本地端口例外
有关 Windows 防火墙组策略设置的更多信息,请下载下面的白皮书:
Deploying Windows Firewall Settings for Microsoft Windows XP with Service Pack 2(对安装了Service Pack 2 的 Microsoft Windows XP 部署 Windows 防火墙设置)
相关文章推荐
- 使用脚本引擎增加程序运行时动态执行能力(Java篇)
- Linux 技巧:让进程在后台可靠运行的几种方法 用 cron 和 at 调度作业 使用 screen 管理你的远程会话
- 使用脚本引擎增加程序运行时动态执行能力(Java篇)
- 使用STF远程查看RF+Appium运行脚本
- 如何使用图形化工具远程管理 Linux 上的 MySQL
- 如何取消IE“已限制此网页运行可以访问计算机的脚本或ActiveX控件”(小技巧)
- 在cmd下运行Python脚本+如何使用Python Shell
- 如何取消IE“已限制此网页运行可以访问计算机的脚本或ActiveX控件”
- 如何使用windows命令行(cmd)脚本远程下载文件
- putty关闭后,后台程序继续运行---使用 screen 管理你的远程会话
- 仅允许运行使用网络级别身份验证的远程桌面的计算机连接
- 【转】putty关闭后,后台程序继续运行---使用 screen 管理你的远程会话
- 如何使用Docker构建运行时间较长的脚本
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
- 如何在本地计算机连接使用运行在虚拟机上的oracle数据库
- 如何通过Linux命令行使用和运行PHP脚本
- putty怎么用?如何使用Putty远程管理Linux主机
- 如何在远程计算机上运行PowerShell
- Windows 7环境下如何使用远程服务器管理工具
- 如何使用git管理你的java脚本(入门篇)