【问题标题】:VBS or BAT script for opening WMI ports in windows firewall用于在 Windows 防火墙中打开 WMI 端口的 VBS 或 BAT 脚本
【发布时间】:2011-04-06 13:57:07
【问题描述】:

如何在 Windows 防火墙中获得 WMI 所需的最可靠的开放端口?需要 BAT 或 VBS 脚本形式的此文件,并且需要在 win XP 和所有更新版本上运行。

非常感谢。

EDIT1:赢得 2000 年安装的 XP。

【问题讨论】:

  • Windows 2000 没有内置防火墙。
  • 好吧,我的错。我认为他们可以通过后面的服务包获得它。
  • 不,它带有 XP SP2(也许是 SP1,但我不这么认为)。它没有被移植到 Windows 2000 之前。

标签: vbscript batch-file wmi netsh windows-firewall


【解决方案1】:

.BAT

您可以使用netsh 命令打开防火墙中的指定端口。要使用 wmi,你必须运行类似这样的东西。

允许远程管理

netsh firewall set service RemoteAdmin enable

并打开 WMI 端口

netsh firewall add portopening protocol=tcp port=135 name=DCOM_WMIPort

另外你可以阅读这篇文章Connecting WMI Through Windows Firewall

VbScript

如果您想使用 vbScript 来完成此任务,请尝试使用本文中的 HNetCfg.FwMgrCOM 对象Windows Firewall Scripting,您可以找到一系列示例来使用 VbScript 中的此 com 对象管理防火墙设置。

【讨论】:

  • 再问一个问题。如何确定防火墙是打开还是关闭?
  • 使用HNetCfg.FwMgr com 对象和VbScript,你可以试试这个Set objFirewall = CreateObject("HNetCfg.FwMgr") Set objPolicy = objFirewall.LocalPolicy.CurrentProfile wscript.echo "is my firewall is enabled " & objPolicy.FirewallEnabled
  • 好的,谢谢。有没有办法使用 netsh 来检查防火墙状态?
【解决方案2】:

虽然没有提到 JScript 的名称,但 JScript 可从 Windows 95 的所有 Windows 操作系统中获得,并且使用与 VBScript 相同的 WSH。

您可以创建一个 .js 文件并使用此代码:

//Open WMI and Remote Access Ports
var firewall = new ActiveXObject("HNetCfg.FwMgr");
var policy = firewall.LocalPolicy.CurrentProfile;
var admin = policy.RemoteAdminSettings;
admin.Enabled = true;

然后您可以像执行任何 .vbs 文件一样执行此 .js 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-06
    • 1970-01-01
    • 2019-12-22
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多