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

  • 在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 文件包含以下内容:

http://www.cisco.com

http://www.checkpoint.com

http://www.sonicwall.com

接下来,将这两个文件放在那两个脚本文件相同的目录下,我们在此复制到C盘的根目录。

双击 ImportURLs.vbs 文件,你会看见如下的显示“ Saving...”的对话框,点击OK

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

同样的,双击 ImportDomains.vbs 完成从Domains.txt文件中导入域名集。

如果此时ISA Server控制台已经打开了,关闭它后再次打开(或者在ISA Server管理控制台上点击刷新),此时,你可以在工具箱网络对象里看见导入的URL集和域名集。

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

omains.txt修改为你的URL集文本文件名。

TMG 2010 使用脚本来导入URL集和域名集的更多相关文章

  1. 测试必备技能系列1 :通过mysql命令进行脚本数据导入

    老徐,分享测试项目中实际能解决问题的干货!   今日分享: 如何通过mysql命令行,导入mysql脚本文件数据?   ----- 解决实际的问题: 工作过程中,经常需要导入mysql脚本文件 很多同 ...

  2. PL/SQL将sql脚本数据导入Oracle

    PL/SQL将sql脚本数据导入数据库: 1.首先,使用plsql登录到需要导入数据的数据库.在[tools]--[Import tables] 2.选择第二个[SQL Inserts],在下面,点击 ...

  3. Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库

    前提: 每个csv文件第一行为字段名 创建的数据库字段名同csv 文件的字段名 1. 批量导入 多个 csv 文件 for file in ./*.csv;do mv $file tablename. ...

  4. 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签

    源泉书签,助您管理海量收藏.www.yuanquanshuqian.com 今日更新:支持了导入url为js代码的书签

  5. LUA中将未分类数据分为测试集和训练集

    require 'torch' require 'image' local setting = {parent_root = '/home/pxu/image'} function list_chil ...

  6. 机器学习入门06 - 训练集和测试集 (Training and Test Sets)

    原文链接:https://developers.google.com/machine-learning/crash-course/training-and-test-sets 测试集是用于评估根据训练 ...

  7. 斯坦福大学公开课机器学习:advice for applying machine learning | model selection and training/validation/test sets(模型选择以及训练集、交叉验证集和测试集的概念)

    怎样选用正确的特征构造学习算法或者如何选择学习算法中的正则化参数lambda?这些问题我们称之为模型选择问题. 在对于这一问题的讨论中,我们不仅将数据分为:训练集和测试集,而是将数据分为三个数据组:也 ...

  8. 【ML入门系列】(一)训练集、测试集和验证集

    训练集.验证集和测试集这三个名词在机器学习领域极其常见,但很多人并不是特别清楚,尤其是后两个经常被人混用. 在有监督(supervise)的机器学习中,数据集常被分成2~3个,即:训练集(train ...

  9. Rancher2.0导入本地RKE Kubernetes集群图解

      简要说明: 使用RKE工具在192.168.3.161机器上,创建包含两个节点的Kubernetes集群,(192.168.3.162和192.168.3.163).RKE会自动在/home/用户 ...

随机推荐

  1. VMware Workstation中虚拟机的克隆

    1 克隆虚拟机 首先需要准备好一个安装好的系统,这里以linux为例进行演示. 在需要克隆的机器上右键选择管理==>克隆 选择需要克隆的虚拟机的状态,如果你想要的就是当前的状态,就直接选择虚拟机 ...

  2. 关于chrome浏览器事件拖动的bug(首次点击的时候也触发move的事件)

    在做R80web的时候出现一个奇怪的现象,chorme现在的版本还是存在,拖动事件有mousedown.mousemove.mouseup组成,但是首次click以及失去焦点再重新点击的时候同样会触发 ...

  3. manjaro 添加tash 快捷方式

    -In your home directory open /.local/share/applications/-Right click in this folder and create a emp ...

  4. 深度学习(二)BP求解过程和梯度下降

    一.原理 重点:明白偏导数含义,是该函数在该点的切线,就是变化率,一定要理解变化率. 1)什么是梯度 梯度本意是一个向量(矢量),当某一函数在某点处沿着该方向的方向导数取得该点处的最大值,即函数在该点 ...

  5. 什么是SharePoint?

    在聊SharePoint开发之前,有必要说下什么是SharePoint. 在我工作的过程中,经常遇到客户对SharePoint不太了解的情况.有客户说,SharePoint太烂了,DropBox能做到 ...

  6. Android Studio 连接 逍遥模拟器

    1.启动 逍遥模拟器: 2.打开 Android Studio 项目: 3.命令行 adb connect 127.0.0.1:21503 C:\Users\Administrator>adb ...

  7. 再说优化MySQL索引

    这几天开发尤其重视数据库索引的优化,是一件好事情,开发特意提过来几个要删除的索引,oh!我的佛陀呀!历史上出现过因为评估不到位,删索引引发故障的案例.那么有什么办法可以评估索引是否合理呢? perco ...

  8. WCF-netTcpBinding端口共享

    在同一台机器上一个端口在某时刻只能被一个应用程序占用.对于WCF服务来说,如果服务器上有多个服务并且这些服务寄宿在不同的应用程序中,我们需要某种途径来共享它们的端口.下面是一个示例来演示使用TcpBi ...

  9. SQL Serever学习9——基础查询语句

    SQL语言概述 SQL是结构化查询语言(Structure Query Language),1974年提出,1979年被IBM实现,SQL语言已经成为关系型数据库的标准语言. 包括: DDL数据定义语 ...

  10. [编程] C语言的二级指针

    用C语言指针作为函数返回值:C语言允许函数的返回值是一个指针(地址),我们将这样的函数称为指针函数函数运行结束后会销毁在它内部定义的所有局部数据 #include<stdio.h> #in ...