通过脚本禁用域内XP自带防火墙(附收集报告功能)

自从XP有了SP2之后,域内的网络管理就引来了诸多不便,总是受到防火墙的阻扰。对于XP我们可以禁用之,但是2000没得罪你,犯不着受到牵连。可以采用组策略的wmi筛选功能只对xp有效,也可以在脚本里进行OS判断,本文采用后者。
 
复制以下脚本命名为Firewall-disable.vbs,通过组策略指派到计算机的开机脚本中。
 
  
  
  
  
  1. 'Script Start  
  2. On Error Resume Next  
  3. '==Get OS==  
  4. strComputer = "." 
  5. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
  6. Set colOperatingSystems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")  
  7. For Each objOperatingSystem in colOperatingSystems  
  8. 'Wscript.Echo objOperatingSystem.Caption  
  9. strOS = objOperatingSystem.Caption  
  10. Next  
  11.  
  12. 'If OS=XP then disable firewall  
  13. If InStr(strOS, "XP") Then  
  14. Set objFirewall = CreateObject("HNetCfg.FwMgr")  
  15. Set objPolicy = objFirewall.LocalPolicy.CurrentProfile  
  16. objPolicy.FirewallEnabled = FALSE 
  17. Else  
  18. Wscript.Quit  
  19. End If  
  20.  
  21. '==Get computer name==  
  22. Set objNet = createobject("Wscript.Network")  
  23. strPCName = objNet.Computername  
  24.  
  25. '==Get current Date & Time==  
  26. strYear = Year(Date)  
  27. strMonth = Month(Date)  
  28. If strMonth < 10 Then strMonth = 0 & strMonth  
  29. strDay = Day(Date)  
  30. If strDay < 10 Then strDay = 0 & strDay  
  31. strDate = strYear & strMonth & strDay  
  32. Dim MyTime, MyHour, MyMin  
  33. MyTime = Now 
  34. MyHour = Hour(MyTime)  
  35. If MyHour < 10 Then MyHour = 0 & MyHour  
  36. MyMin = Minute(Now)  
  37. If MyMin < 10 Then MyMin = 0 & MyMin  
  38. strTime = MyHour & ":" & MyMin  
  39.  
  40. '==Create report==  
  41. Const ForReading=1 
  42. Const ForWriting=2 
  43. Const ForAppending=8 
  44. Const OverwriteExisting = True 
  45. Dim fso, ts  
  46. Set fso = CreateObject("Scripting.FileSystemObject")  
  47. strPath = "\\FileSrv\GPreport\FW_Report\" 
  48. If fso.FileExists(strPath & strPCName & ".txt") Then  
  49. Set ts = fso.OpenTextFile(strPath & strPCName & ".txt", ForAppending)  
  50. ts.WriteLine strPCName & " firewall has been disabled on " & strDate & "." & strtime & VbCrlf  
  51. ts.Close  
  52. Else  
  53. Set ts = fso.CreateTextFile(strPath & strPCName & ".txt", true)  
  54. ts.WriteLine strPCName & " firewall has been disabled on " & strDate & "." & strtime & VbCrlf  
  55. ts.Close  
  56. End If  
  57.  
  58. 'Script End 

你可能感兴趣的:(服务器,职场,休闲,活动目录)