当前位置:软件学习 > ISA >>

使用脚本来导入URL集和域名集

译自Thomas W Shinder,“Strong Outbound Access Control using the ISA Firewall (2004):

Using Scripts to Populate URL Sets and Domain Name Sets”,有修改


作为一个网管,相信有领导叫你限制员工上网的情况,例如只限制员工访问某些网站。在禁止的网站数量少的时候,添加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)

你可以将d

使用导入脚本

在使用导入脚本之前,你需要在ISA Server中建立对应的URL集和域名集对象。

执行以下步骤建立名为URLs的URL集:


  1. 在ISA Server管理控制台,展开服务器,点击防火墙策略
  2. 在防火墙策略,点击任务面板上的工具箱,然后点击网络对象标签;

  3. 网络对象标签,点击新建,然后选择URL集
  4. 新建URL集规则元素对话框,在名字文本框中输入URLs,然后点击确定





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




 

下一步我们建立名为Domains的域名集,注意,我们建立这样的名字只是为了和脚本文件中的名字对应。执行以下步骤:


  1. 在ISA Server管理控制台,展开服务器,点击防火墙策略
  2. 在防火墙策略,点击任务面板上的工具箱,然后点击网络对象标签;

  3. 网络对象标签,点击新建,然后选择域名集
  4. 新建域名集规则元素对话框,在名字文本框中输入Domains,然后点击确定





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





  1. 防火墙策略面板点击应用以保存修改和更新防火墙策略。


 

现在我们需要建立两个文本文件 urls.txtdomains.txt,这是在脚本中使用的默认文件名

在这个例子中,domains.txt 文件包含以下内容:

stuff.com

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,