Chinaunix首页 | 论坛 | 博客
  • 博客访问: 657777
  • 博文数量: 759
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 4845
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 13:51
文章分类

全部博文(759)

文章存档

2011年(1)

2008年(758)

我的朋友

分类:

2008-10-27 14:04:51


  作为一个网管,相信有领导叫你限制员工上网的情况,例如只限制员工访问某些网站。在禁止的网站数量少的时候,添加URL集或者域名集是一件很简单的事情,如果禁止的网站数量多达1500个呢?如果再使用ISA Server的管理控制台来添加,相信你只会无语到极点。放心,在ISA Server 2004中,已经考虑到了这点。利用它提供的编程接口,你可以很轻松的完成这项任务。你只需要将这些域名集或者URL集放在一个文本文件中,然后其他的事情,可以放心的交给脚本去做。
  
  建立导入脚本
  下面是一段脚本,这段脚本的功能是导入“urls.txt”文件中的URL集到ISA Server中定义的“Urls”对象中。将下列代码复制到一个文件中,然后另存为 ImportURLs.vbs。
  
  < ------------------Start with the line below this one----------------------- >
  Set Isa =
  CreateObject("FPC.Root")
  
  Set CurArray =
  Isa.GetContainingArray
  
  Set RuleElements =
  CurArray.RuleElements
  
  Set URLSets =
  RuleElements.URLSets
  
  Set URLSet = URLSets.Item("Urls")
  
  Set FileSys =
  CreateObject("Scripting.FileSystemObject")
  
  Set UrlsFile =
  FileSys.OpenTextFile("urls.txt", 1)
  
  For i = 1 to URLSet.Count
  
  URLSet.Remove 1
  
  Next
  
  Do While
  UrlsFile.AtEndOfStream <> True
  
  URLSet.Add UrlsFile.ReadLine
  
  Loop
  
  WScript.Echo "Saving..."
  
  CurArray.Save
  
  WScript.Echo "Done"
  < ------------------End with the line above this one----------------------- >
  黄色高亮显示的项你可以根据你自己的需要进行替换,
  
  这行:
  
  Set URLSet = URLSets.Item("Urls")
  
  你可以修改Urls为你在ISA Server中建立的URL集;
  
  这行:
  
  Set UrlsFile = FileSys.OpenTextFile("urls.txt", 1)
  
  你可以将urls.txt修改为你的URL集文本文件名。
  
  下面一段脚本将domains.txt文件中的域名集导入到ISA Server中的Domains对象中,将这段代码复制到一个文件中,另存为ImportDomains.vbs。
  < ------------------Start with the line below this one----------------------- >
  
  Set Isa =
  CreateObject("FPC.Root")
  
  Set CurArray =
  Isa.GetContainingArray
  
  Set RuleElements =
  CurArray.RuleElements
  
  Set DomainNameSets =
  RuleElements.DomainNameSets
  
  Set DomainNameSet =
  DomainNameSets.Item("Domains")
  
  Set FileSys =
  CreateObject("Scripting.FileSystemObject")
  
  Set DomainsFile =
  FileSys.OpenTextFile("domains.txt", 1)
  
  For i = 1 to
  DomainNameSet.Count
  
  DomainNameSet.Remove 1
  
  Next
  
  Do While
  DomainsFile.AtEndOfStream <> True
  
  DomainNameSet.Add
  DomainsFile.ReadLine
  
  Loop
  
  WScript.Echo "Saving..."
  
  CurArray.Save
  
  WScript.Echo "Done"
  
  < ------------------End with the line above this one----------------------- >
  
  黄色高亮显示的项你可以根据你自己的需要进行替换,
  
  这行:
  Set DomainNameSet =
  DomainNameSets.Item("Domains")
  
  你可以修改Domains为你在ISA Server中建立的域名集;
  
  这行:
  Set DomainsFile = FileSys.OpenTextFile("domains.txt", 1)
  
  你可以将domains.txt修改为你的URL集文本文件名。
  
  使用导入脚本
  在使用导入脚本之前,阈枰?贗SA Server中建立对应的URL集和域名集对象。
  
  执行以下步骤建立名为URLs的URL集:
  
  在ISA Server管理控制台,展开,点击策略;
  
  在策略,点击任务面板上的工具箱,然后点击网络对象标签;
  
  在网络对象标签,点击新建,然后选择URL集;
  
  在新建URL集规则元素对话框,在名字文本框中输入URLs,然后点击确定;
  
 

  此时,在网络对象的URL集中显示出了新建立的URLs;
  
 

  下一步我们建立名为Domains的域名集,注意,我们建立这样的名字只是为了和脚本文件中的名字对应。执行以下步骤:
  
  在ISA Server管理控制台,展开,点击防火墙策略;
  
  在防火墙策略,点击任务面板上的工具箱,然后点击网络对象标签;
  
  在网络对象标签,点击新建,然后选择域名集;
  
  在新建域名集规则元素对话框,在名字文本框中输入Domains,然后点击确定;
  
 

  此时,在网络对象的域名集中显示出了新建立的Domains;
  
 

  在防火墙策略面板点击应用以保存修改和更新防火墙策略。
  
  现在我们需要建立两个文本文件 urls.txt 和 domains.txt,这是在脚本中使用的默认文件名
  
  在这个例子中,domains.txt 文件包含以下内容:
  
  stuff.com
  blah.com
  scumware.com
  
  urls.txt 文件包含以下内容:
  
  
  
  
  接下来,将这两个文件放在那两个脚本文件相同的目录下,我们在此复制到C盘的根目录。
  
  双击 ImportURLs.vbs 文件,你会看见如下的显示“ Saving...”的对话框,点击OK;
  
 

  根据你导入URL数量的多少,几秒后你会看见如下的对话框,显示导入已经完成,点击 OK。
  
 

  同样的,双击 ImportDomains.vbs 完成从Domains.txt文件中导入域名集。
  
  如果此时ISA Server控制台已经打开了,关闭它后再次打开(或者在ISA Server管理控制台上点击刷新),此时,你可以在工具箱的网络对象里看见导入的URL集和域名集。
  
 

  

  如果导入的时候已经有相同的URL或者域名,ISA Server并不会建立重复的项,会保留原来的项。
【责编:admin】

--------------------next---------------------

阅读(404) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~