netegg 发表于 2008-6-12 18:19:04

求助::端口[看来还要再换个思路]

$objFirewall = ObjCreate("HNetCfg.FwMgr")
$objPolicy = $objFirewall.LocalPolicy.CurrentProfile

$colPorts = $objPolicy.GloballyOpenPorts

For $objPort in $colPorts
    ConsoleWrite( "Port name: " & $objPort.Name & @CR)
    ConsoleWrite( "Port number: " & $objPort.Port & @CR)
    ConsoleWrite( "Port IP version: " & $objPort.IPVersion & @CR)
    ConsoleWrite( "Port protocol: " & $objPort.Protocol & @CR)
    ConsoleWrite( "Port scope: " & $objPort.Scope & @CR)
    ConsoleWrite( "Port remote addresses: " & $objPort.RemoteAddresses & @CR)
    ConsoleWrite( "Port enabled: " & $objPort.Enabled & @CR)
    ConsoleWrite( "Port built-in: " & $objPort.Builtin & @CR)
    ConsoleWrite("------------------------------------------------" & @LF)
Next

由谁有兴趣帮忙测试一下这个代码----打开端口的列表
如果能正常运行,麻烦说一声

[ 本帖最后由 netegg 于 2008-6-13 12:26 编辑 ]

sanhen 发表于 2008-6-12 19:26:44

这里打开端口列表吗???

居我所测试的结果是:
平台为2003 SP2 VOL版

1、必须启动WINDOWS防火墙服务,不然以上脚本无效。
2、以上脚本是列出WINDOWS防火墙里边手动添加的端口罢了。系统默认开放的并没有列出来。

netegg 发表于 2008-6-12 20:40:43

多谢,我说我怎么折腾也不行呢
有没有其他办法控制端口(不开防火墙服务,不用wmi)
总觉得自己用原来那个批处理运行过后的注册表文件转过来的太长了,但是又不想用到外部文件,应该有个通用的添加端口号就行的办法,看官方的,似乎用对象变量是可行的,不过想不出来好办法

[ 本帖最后由 netegg 于 2008-6-12 20:47 编辑 ]

sanhen 发表于 2008-6-12 21:30:19

认真阅读一下这篇讨论,相信你会明白不少东西的。
http://bbs.et8.net/bbs/archive/index.php/t-396915.html
页: [1]
查看完整版本: 求助::端口[看来还要再换个思路]