我有一个要求来标记某些来自某些DSCP值的Windows 2003服务器的stream量。
不幸的是,在这种情况下,标记路由器上的stream量或升级到Windows 2008都是我们可以select的选项。
我花了一些时间与Tcmon和Tccom,我很接近得到这个工作。 在一个完整的补丁和最新的XP虚拟机,我已经想出了如何脚本TCCOM(使用过程资源pipe理器的variables和单词2003 vba对象资源pipe理器找出api)。 脚本在启动时运行,并在我的XP虚拟机上正确设置stream量,没有问题。
但在Windows 2003服务器上,我无法通过脚本或使用tcmon gui来添加stream。 它只是说“未知的错误”(当脚本它给错误代码80004005)。
我已经尝试了以下来解决这个问题:
有没有人设法得到tcmon / tccom在Windows 2003上工作呢?
对于任何有兴趣的人,这里是我的脚本(VBScript)与示例stream(不是我实际上在做什么)。 它产生一个stream,并添加一个filter,将DSCP 32应用于从192.168.10.0/24到192.168.20.0/24 tcp端口80的stream量。
option explicit dim client set client = wscript.createobject("TrafficControl.Client") dim sInterface sInterface = "AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport" dim ifce set ifce = getInterface(client,sInterface) dim flowSpec set flowSpec = ifce.CreateFlowSpec dim filterSpec set filterSpec = ifce.CreateFilterSpec(2) clearAllFlows client flowSpec.Parameters("TX_FRIENDLY_NAME") = "From Vbscript" flowSpec.Parameters("TX_DCLASS") = 40 flowSpec.Parameters("TX_TOKEN_RATE") = -1 flowSpec.Parameters("TX_SERVICE_TYPE") = 1 filterSpec.Parameters("PROTOCOL_ID_MASK") =0 filterSpec.Parameters("PROTOCOL_ID") = 0 filterSpec.Parameters("DEST_PORT_MASK") = 65535 filterSpec.Parameters("SOURCE_PORT_MASK") = 0 filterSpec.Parameters("DEST_PORT") = 80 filterSpec.Parameters("SOURCE_PORT") = 0 filterSpec.Parameters("DEST_ADDRESS_MASK") = "255.255.255.0" filterSpec.Parameters("SOURCE_ADDRESS_MASK") = "255.255.255.0" filterSpec.Parameters("DEST_ADDRESS") = "192.168.20.0" filterSpec.Parameters("SOURCE_ADDRESS") = "192.168.10.0" dim newFlow set newFlow = ifce.CreateFlow(flowSpec,1,"Flow obj from vbscript") newFlow.CreateFilter filterSpec function getInterface(oClient,sIntName) dim oInterface for each oInterface in oClient.interfaces if oInterface.Name = sIntName then set getInterface = oInterface end if Next end function sub clearAllFlows(oClient) dim oInterface, oFlow for each oInterface in client.interfaces for each oFlow in oInterface.flows oFlow.delete Next Next end sub