有关 Windows 2000、Windows XP 和 Windows Server 2003的示例脚本包括:创建、罗列和重新命名 Active Directory 站点,取得域控制器的 SNMP MIB-II 信息和站点名称;以及枚举网络适配器的属性。
返回 IP 配置数据
描述信息
用以返回配置数据(类似于 IPCONFIG 命令返回信息)的 WMI 脚本。
脚本代码
- ' Returning IP Configuration Data
- ' WMI script that returns configuration data similar to that returned by IpConfig.
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\"& strComputer & "\root\cimv2")
- Set colAdapters = objWMIService.ExecQuery _
- ("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
- n = 1
- WScript.Echo
- For Each objAdapter in colAdapters
- WScript.Echo "Network Adapter " & n
- WScript.Echo "================="
- WScript.Echo " Description: " & objAdapter.Description
- WScript.Echo " Physical (MAC) address: " & objAdapter.MACAddress
- WScript.Echo " Host name: " & objAdapter.DNSHostName
- If Not IsNull(objAdapter.IPAddress) Then
- For i = 0 To UBound(objAdapter.IPAddress)
- WScript.Echo " IP address: " & objAdapter.IPAddress(i)
- Next
- End If
- If Not IsNull(objAdapter.IPSubnet) Then
- For i = 0 To UBound(objAdapter.IPSubnet)
- WScript.Echo " Subnet: " & objAdapter.IPSubnet(i)
- Next
- End If
- If Not IsNull(objAdapter.DefaultIPGateway) Then
- For i = 0 To UBound(objAdapter.DefaultIPGateway)
- WScript.Echo " Default gateway: " & objAdapter.DefaultIPGateway(i)
- Next
- End If
- WScript.Echo
- WScript.Echo " DNS"
- WScript.Echo " ---"
- WScript.Echo " DNS servers in search order:"
- If Not IsNull(objAdapter.DNSServerSearchOrder) Then
- For i = 0 To UBound(objAdapter.DNSServerSearchOrder)
- WScript.Echo " " & objAdapter.DNSServerSearchOrder(i)
- Next
- End If
- WScript.Echo " DNS domain: " & objAdapter.DNSDomain
- If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
- For i = 0 To UBound(objAdapter.DNSDomainSuffixSearchOrder)
- WScript.Echo " DNS suffix search list: " & objAdapter.DNSDomainSuffixSearchOrder(i)
- Next
- End If
- WScript.Echo
- WScript.Echo " DHCP"
- WScript.Echo " ----"
- WScript.Echo " DHCP enabled: " & objAdapter.DHCPEnabled
- WScript.Echo " DHCP server: " & objAdapter.DHCPServer
- If Not IsNull(objAdapter.DHCPLeaseObtained) Then
- utcLeaseObtained = objAdapter.DHCPLeaseObtained
- strLeaseObtained = WMIDateStringToDate(utcLeaseObtained)
- Else
- strLeaseObtained = ""
- End If
- WScript.Echo " DHCP lease obtained: " & strLeaseObtained
- If Not IsNull(objAdapter.DHCPLeaseExpires) Then
- utcLeaseExpires = objAdapter.DHCPLeaseExpires
- strLeaseExpires = WMIDateStringToDate(utcLeaseExpires)
- Else
- strLeaseExpires = ""
- End If
- WScript.Echo " DHCP lease expires: " & strLeaseExpires
- WScript.Echo
- WScript.Echo " WINS"
- WScript.Echo " ----"
- WScript.Echo " Primary WINS server: " & objAdapter.WINSPrimaryServer
- WScript.Echo " Secondary WINS server: " & objAdapter.WINSSecondaryServer
- WScript.Echo
- n = n + 1
- Next
- Function WMIDateStringToDate(utcDate)
- WMIDateStringToDate = CDate(Mid(utcDate, 5, 2) & "/" & _
- Mid(utcDate, 7, 2) & "/" & _
- Left(utcDate, 4) & " " & _
- Mid (utcDate, 9, 2) & ":" & _
- Mid(utcDate, 11, 2) & ":" & _
- Mid(utcDate, 13, 2))
- End Function
获取 SNMP MIB-II 接口表信息
描述信息
利用 WMI SNMP 提供程序获取并显示来自 SNMP 可管理节点的 SNMP MIB-II(RFC 1213)接口表信息。
脚本代码
- strTargetSnmpDevice = "192.168.0.1"
- Set objWmiLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objWmiServices = objWmiLocator.ConnectServer("", "root\snmp\localhost")
- Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
- objWmiNamedValueSet.Add "AgentAddress", strTargetSnmpDevice
- objWmiNamedValueSet.Add "AgentReadCommunityName", "public"
- Set colIfTable = objWmiServices.InstancesOf("SNMP_RFC1213_MIB_ifTable", , _
- objWmiNamedValueSet)
- For Each objInterface In colIfTable
- WScript.Echo "ifIndex [Key]: " & objInterface.ifIndex & vbCrLf & _
- " ifAdminStatus: " & objInterface.ifAdminStatus & vbCrLf & _
- " ifDescr: " & objInterface.ifDescr & vbCrLf & _
- " ifInDiscards: " & objInterface.ifInDiscards & vbCrLf & _
- " ifInErrors: " & objInterface.ifInErrors & vbCrLf & _
- " ifInNUcastPkts: " & objInterface.ifInNUcastPkts & vbCrLf & _
- " ifInOctets: " & objInterface.ifInOctets & vbCrLf & _
- " ifInUcastPkts: " & objInterface.ifInUcastPkts & vbCrLf & _
- " ifInUnknownProtos: " & objInterface.ifInUnknownProtos & vbCrLf & _
- " ifLastChange: " & objInterface.ifLastChange & vbCrLf & _
- " ifMtu: " & objInterface.ifMtu & vbCrLf & _
- " ifOperStatus: " & objInterface.ifOperStatus & vbCrLf & _
- " ifOutDiscards: " & objInterface.ifOutDiscards & vbCrLf & _
- " ifOutErrors: " & objInterface.ifOutErrors & vbCrLf & _
- " ifOutNUcastPkts: " & objInterface.ifOutNUcastPkts & vbCrLf & _
- " ifOutOctets: " & objInterface.ifOutOctets & vbCrLf & _
- " ifOutQLen: " & objInterface.ifOutQLen & vbCrLf & _
- " ifOutUcastPkts: " & objInterface.ifOutUcastPkts & vbCrLf & _
- " ifPhysAddress: " & objInterface.ifPhysAddress & vbCrLf & _
- " ifSpecific: " & objInterface.ifSpecific & vbCrLf & _
- " ifSpeed: " & objInterface.ifSpeed & vbCrLf & _
- " ifType: " & objInterface.ifType & vbCrLf
- Next
获取 SNMP MIB-II TCP 与 UDP 连接及监听端口
描述信息
利用 WMI SNMP 提供程序获取并显示来自 SNMP 可管理节点的 SNMP MIB-II(RFC 1213)TCP(与UDP)连接及监听端口。
脚本代码
- strTargetSnmpDevice = "192.168.0.1"
- Set objWmiLocator = CreateObject("WbemScripting.SWbemLocator")
- Set objWmiServices = objWmiLocator.ConnectServer("", "root\snmp\localhost")
- Set objWmiNamedValueSet = CreateObject("WbemScripting.SWbemNamedValueSet")
- objWmiNamedValueSet.Add "AgentAddress", strTargetSnmpDevice
- objWmiNamedValueSet.Add "AgentReadCommunityName", "public"
- Set colTcpConnTable = _
- objWmiServices.InstancesOf("SNMP_RFC1213_MIB_tcpConnTable", , _
- objWmiNamedValueSet)
- Set colUdpTable = _
- objWmiServices.InstancesOf("SNMP_RFC1213_MIB_udpTable", , _
- objWmiNamedValueSet)
- WScript.Echo "TCP Connections and Listening Ports" & vbCrLf & _
- "-----------------------------------"
- For Each objTcpConn In colTcpConnTable
- WScript.Echo objTcpConn.tcpConnLocalAddress & ":" & _
- objTcpConn.tcpConnLocalPort & " => " & _
- objTcpConn.tcpConnRemAddress & ":" & _
- objTcpConn.tcpConnRemPort & " " & _
- "[State: " & objTcpConn.tcpConnState & "]"
- Next
- WScript.Echo vbCrLf & "UDP Ports" & vbCrLf & "---------"
- For Each objUdp In colUdpTable
- WScript.Echo objUdp.udpLocalAddress & ":" & objUdp.UdpLocalPort
- Next
检索代理服务器信息
描述信息
返回有关计算机使用的 Internet 代理服务器的信息。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- On Error Resume Next
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_Proxy")
- For Each objItem in colItems
- Wscript.Echo "Proxy Port Number: " & objItem.ProxyPortNumber
- Wscript.Echo "Proxy Server: " & objItem.ProxyServer
- Wscript.Echo "Server Name: " & objItem.ServerName
- Wscript.Echo
- Next
添加一个终端服务帐户
描述信息
为 fabrikam_ob 添加一个新的终端服务帐户,使该帐户客人具有访问权限。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const GUEST_ACCESS = 0
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TSPermissionsSetting")
- For Each objItem in colItems
- errResult = objItem.AddAccount("fabrikam\bob", GUEST_ACCESS)
- Next
配置终端服务客户端连接设置
描述信息
配置终端服务客户端,以便在登录时自动连接映射驱动器和打印机,并使打印作业能够直接发送到客户端的本地打印机。可通过设置适当的常量值来禁用这些设置。
支持平台
Windows Server 2003 否
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const CONNECT_CLIENT_DRIVES = 1
- Const CONNECT_PRINTER = 1
- Const USE_CLIENT_PRINTER = 1
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TSClientSetting")
- For Each objItem in colItems
- errResult = objItem.ConnectionSettings(CONNECT_CLIENT_DRIVES, CONNECT_PRINTER, USE_CLIENT_PRINTER)
- Next
配置终端服务加密级别
描述信息
配置终端服务,以使用高加密参数值 3。要使用低级别加密,可通过将值 1 传递给 SetEncryptionLevel 方法来实现。客户端兼容的加密使用值 2,而 FIPS 兼容的加密使用值 4。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const HIGH_ENCRYPTION = 3
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TSGeneralSetting")
- For Each objItem in colItems
- errResult = objItem.SetEncryptionLevel(HIGH_ENCRYPTION)
- Next
配置终端服务主目录
更新日期: 2003年09月12日
描述信息
将终端服务服务器上的默认主目录配置为 C:TSUsers。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TerminalServiceSetting")
- For Each objItem in colItems
- errResult = objItem.SetHomeDirectory("c:\tsusers")
- Next
配置显式终端服务登录
更新日期: 2003年09月12日
描述信息
配置登录到终端服务所需的凭据(名字、密码和域)。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const TS_USER = "tsuser"
- CONST TS_DOMAIN = "fabrikam"
- CONST TS_PASSWORD = "password"
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TSLogonSetting")
- For Each objItem in colItems
- errResult = objItem.ExplicitLogon(TS_USER, TS_DOMAIN, TS_PASSWORD)
- Next
配置终端服务模式
更新日期: 2003年09月12日
描述信息
启用终端服务的每会话授权功能。要启用每会话授权,可通过将值 2(而非 4)传递给 ChangeMode 方法来实现。要启用远程桌面管理或个人终端服务授权,则需传递值 0。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const PER_SESSION = 4
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TerminalServiceSetting")
- For Each objItem in colItems
- errResult = objItem.ChangeMode(PER_SESSION)
- Next
删除计算机上的所有影像副本
更新日期: 2003年09月12日
描述信息
删除存储在服务器上的所有影像副本。
支持平台
Windows Server 2003 是
Windows XP 否
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const ENABLE = 1
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TSLogonSetting")
- For Each objItem in colItems
- errResult = objItem.SetPromptForPassword(ENABLE)
- Next
创建影像副本存储区
更新日期: 2003年09月12日
描述信息
创建影像副本存储区(在驱动器 E 上),以便存储驱动器 C 的影像副本。本脚本为这些影像副本保留了 130,023,424 字节的存储空间。
支持平台
Windows Server 2003 是
Windows XP 否
Windows 2000 否
Windows NT 4.0 否
脚本代码
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TerminalSetting")
- For Each objItem in colItems
- Wscript.Echo "Caption: " & objItem.Caption
- Wscript.Echo "Description: " & objItem.Description
- Wscript.Echo "Setting ID: " & objItem.SettingID
- Wscript.Echo "Terminal name: " & objItem.TerminalName
- Next
检索软盘控制器信息
更新日期: 2003年09月12日
描述信息
检索有关计算机中能检测到的全部软盘驱动器控制器的信息。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 是
Windows NT 4.0 是,需要安装WMI
脚本代码
- On Error Resume Next
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set objNetworkSettings = objWMIService.Get("Win32_NetworkAdapterConfiguration")
- objNetworkSettings.SetTCPMaxDataRetransmissions(10)
有关 Windows 2000、Windows XP 和 Windows Server 2003的示例脚本包括:创建、罗列和重新命名 Active Directory 站点,取得域控制器的 SNMP MIB-II 信息和站点名称;以及枚举网络适配器的属性。
配置 WINS 服务器的网络适配器
更新日期: 2003年09月12日
描述信息
配置主从 WINS 服务器的 TCP/IP 绑定网络适配器。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 是
Windows NT 4.0 是,需要安装WMI
脚本代码
- On Error Resume Next
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colNetCards = objWMIService.ExecQuery _
- ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")
- For Each objNetCard in colNetCards
- strPrimaryServer = "192.168.1.100"
- strSecondaryServer = "192.168.1.200"
- objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
- Next
添加 Terminal Services 直接连接许可证服务器
描述
将计算机 atl-ts-01 作为直接连接许可证服务器添加到运行 Terminal Services 的计算机。
有关在这段代码中使用的 AddDirectConnectLicenseServer 方法的更多信息,请单击 此处。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TerminalServiceSetting")
- For Each objItem in colItems
- errResult = objItem.AddDirectConnectLicenseServer("atl-ts-01")
- Next
老化所有的 DNS 记录
更新日期: 2003年09月15日
描述
启用 DNS 区域 accounting.fabrikam.comEnables 中所有记录(除了名称服务器和权限记录的启动之外)的老化。
有关在这段代码中使用的 AgeAllRecords 方法的更多信息,请单击此处。
支持平台
Windows Server 2003 是
Windows XP 否(然而,可以在 Windows XP 计算机上对远程 DNS 服务器运行脚本)
Windows 2000 是,需要安装 DNS WMI 提供程序
Windows NT 4.0 否
脚本代码
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MicrosoftDNS")
- Set colItems = objWMIService.ExecQuery _
- ("Select * from MicrosoftDNS_Zone Where Name = 'accounting.fabrikam.com'")
- For Each objItem in colItems
- errResult = objItem.AgeAllRecords(,1)
- Next
指派 Terminal Services 初始程序
描述
将启动程序 C:\Accounting\Invoice.exe(以及启动文件夹 C:\Accounting\FY_2003)指派给登录到运行 Terminal Services 的用户。
有关在这段代码中使用的 InitialProgram 方法的更多信息,请单击 此处。
支持平台
Windows Server 2003 是
Windows XP 是
Windows 2000 否
Windows NT 4.0 否
脚本代码
- Const STARTUP_PROGRAM = "c:\accounting\invoice.exe"
- Const STARTUP_FOLDER = "c:\accounting\fy_2003"
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_TSEnvironmentSetting")
- For Each objItem in colItems
- errResult = objItem.InitialProgram(STARTUP_PROGRAM, STARTUP_FOLDER)
- Next
更改 DNS 区域类型
更新日期: 2003年09月15日
描述
将区域 accounting.fabrikam.com 的 DNS 区域类型更改为主 DNS 区域。
有关在这段代码中使用的 ChangeZoneType 方法的更多信息,请单击此处。
支持平台
Windows Server 2003 是
Windows XP 否(然而,可以在 Windows XP 计算机上对远程 DNS 服务器运行脚本)
Windows 2000 是,需要安装 DNS WMI 提供程序
Windows NT 4.0 否
脚本代码
- intPrimaryZone = 1
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MicrosoftDNS")
- Set colItems = objWMIService.ExecQuery _
- ("Select * from MicrosoftDNS_Zone Where Name = 'accounting.fabrikam.com'")
- For Each objItem in colItems
- errResult = objItem.ChangeZoneType(intPrimaryZone, true)
- Next
本日志由 flyinweb 于 2009-06-18 19:33:44 发表,目前已经被浏览 4077 次,评论 0 次;
引用通告:http://www.517sou.net/Article/30/Trackback.ashx
而且直接配置文件是效率最高的,通过其它驱动效率都相对较低,BDB
这个测试不太准确,看官方的测试结果:http://bind-dlz.sourceforg
为什么使用BDB时QPS这么低? 我在bind版本基本相似的环境中测试的
It is quite useful and interesting too.
VIRT 的上限是64G,也就是36位, cat /proc/cpuinfo的结果是:addre
昨天要准备用线程重写webbench,试验了下Fedora Linux 2.6.35.14
不明白您的具体的意思是什么?
已经发送到你QQ邮箱