Seeing is not believing,testing is believing.

发布新日志

  • TFS错误解决方案:TF31003错误及解决方案

    2011-05-26 14:08:16

    TF31003:您的用户帐户没有连接到 Team Foundation Server {0} 的权限。请与 Team Foundation Server 管理员联系,请求其向您的帐户添加适当的权限。

    此问题由权限控制引起,若链接tfs时,出现此错误,可详细检查一下几点权限是否正确:

    1、是否将该用户加入到域用户中,一般由公司运维人员负责,将新员工的计算机加入到域用户中;

    2、服务器上已经把用户加入到域,同时确保用户的计算机加入到域,“我的电脑”->右键“属性”->选择“计算机名”,更改计算机名称为域用户名称,并将其加入到域,计算机用户,隶属于域,输入域,确定后提示重启计算机。重新启动计算机,重新连接tfs服务,OK

    3、检查该用户是否已经在tfs上分配有权限,否则也无法连接tfs。

    注:用户已经加入域,则tfs管理员可以正常分配权限给用户,但用户本机无法连接tfs,此时一般是用户计算机名称错误,或未将计算机加入到域。

    以上三点确保没问题,TF31003也就解决了。

  • TFS 使用心得--权限管理

    2009-08-17 18:06:24

        最近一段时间负责管理公司技术人员的TFS的权限分配,在此之前,我对tfs一点都不了解,没用过,也没听朋友用过,只在进公司时指导我的组长帮我把这个工具装上,告知要在上面报bug,即bug管理在上面,之后的很长一段时间就只知道tfs可以管理bug,可以管理文档,可以管理源代码,这点是从我负责测试的那个项目下的文件夹中看到的,至于怎么来管理,其中有多复杂,没有太多的了解。

        指导两个月前,接手tfs权限管理工作以来,才知道里面有多复杂,经理只告诉我怎么分配项目成员的项目权限,其他的都不知道,起初还以为这样就万事大吉了,呵呵,原来那些只是皮毛,里面的权限还十分的复杂,这是在我两个月来的管理中琢磨出来的,凭现在对tfs权限管理的了解,基本可以应对公司员工的tfs权限的分配。

        说tfs权限的复杂,其实也不是很复杂,它只是把各部分的权限分开控制,但各部分的权限又可以相互继承,分的多了,操作起来就容易出现问题,关联的多了,更容易出现问题,继而形成了它的复杂度。

        下面来分享一下我的使用心得,我还是刚入手,了解的一点点,拿来汇总一下,以便今后的工作和学习,有帮助的可以看看。

        tfs的权限分不同的级别,不同级别的权限其安全性不同,这点帮助文档中部分信息十分完备:

         权限决定了是否授权用户进行工作区管理和项目创建等操作。当在 Team Foundation Server 中创建项目时,无论选择哪种过程模板,都会为该项目创建四个默认组。默认情况下,为这些组各自定义了一组权限,这些权限决定了组成员可以执行的操作。

    • Project Administrator

    • Contributor

    • Reader

    • Build Services

    要管理默认组并创建自定义组,管理员必须了解权限的含义以及显式设置权限引起的安全问题。

    注意注意:

    本主题不讨论 Windows SharePoint Services 或 SQL Reporting Services 的权限。本主题只讨论在 Team Foundation Server 中设置的权限。

    “折叠”图像权限设置

    Team Foundation Server 中的权限有两种显式授权设置:“拒绝”“允许”。还有一种隐式授权,它既不将权限设置为“允许”,也不将其设置为“拒绝”。此授权是一种隐式“拒绝”设置,又称为“未设置”。

    拒绝

    “拒绝”不允许授权用户或组执行权限说明中提到的操作。“拒绝”是 Team Foundation Server 中最强大的权限设置。如果用户所属的 Team Foundation Server 组将特定权限设置为“拒绝”,那么即使用户所属的另一个组将该权限设置为“允许”,该用户仍无法执行该功能。此规则的唯一例外是用户属于项目的“Project Administrators”组的成员或者属于“Team Foundation Administrators”组的成员的情况。如果用户是项目的 Project Administrators 同样,如果用户是 Team Foundation“Administrators”组的成员,则该组的特权将覆盖该用户在 Team Foundation Server 中的显式“拒绝”。

    允许

    “允许”则允许授权用户或组执行权限说明中提到的操作。“允许”是 Team Foundation Server 中第二强大的权限设置。它也是设置最频繁的权限设置。如果不将权限显式设置为“允许”,用户或组将不能在 Team Foundation Server 中执行该操作。

    未设置

    默认情况下,Team Foundation Server 中的多数权限既没有设置为“拒绝”,也没有设置为“允许”。权限处于“未设置”状态,它隐式拒绝授权用户和组执行权限说明中指定的操作。但是,因为权限既没有显式设置为“拒绝”,也没有显式设置为“允许”,它可以从用户或组所属的其他组继承授权。

    “折叠”图像继承

    当用户或组的权限为“未设置”时,因为 Team Foundation Server 中的权限是可继承的,所以用户或组可能受到其所属组权限的显式设置的影响。例如,如果一个用户属于某一项目中的两个自定义组,其中一个组将权限显式设置为“拒绝”,另一个组将同一权限保留为“未设置”,用户将无权执行该权限所控制的操作(用户从两个组中都继承了权限,“拒绝”优先于“未设置”权限)。

    注意注意:

    在 Team Foundation Server 以外(如 Windows SharePoint Services 中)设置的权限,不会在 Team Foundation Server 中继承。本主题中不对其进行讨论。

    某些授权设置优先于其他授权设置。在 Team Foundation Server 中,“拒绝”权限优先于包括“允许”在内的所有其他权限设置。例如,用户可能属于一个项目中的两个组。对于其中一个组,“发布测试结果”权限设置为“拒绝”;而另一个组则将该权限设置为“允许”“拒绝”设置优先级更高,用户无权发布测试结果。此规则的唯一例外是用户属于项目的“Project Administrators”组的成员或者属于“Team Foundation Administrators”组的成员的情况。如果用户是项目的 Project Administrators 同样,如果用户是“Team Foundation Administrators”组的成员,则该组的特权将覆盖该用户在 Team Foundation Server 中的显式“拒绝”。

    “折叠”图像通过 Team Foundation Server 用户界面和命令行设置权限

    许多要为 Team Foundation Server 设置的权限是通过 Team Foundation Server 用户界面控制的。您可以根据服务器(服务器级别权限)或项目(项目级别权限)设置这些权限。您还可以根据项目为查看工作项以及与工作项交互设置区域级别权限。有关默认情况下为哪些用户设置哪些权限,以及为 MSF for Agile Software Development 或 MSF CMMI Process Improvement 组设置哪些权限的更多信息,请参见 Team Foundation Server 默认组、权限和角色。有关如何为用户和组设置权限的更多信息,请参见管理用户和组管理权限。有关管理工作项的更多信息,请参见管理 Team Foundation 工作项

    服务器级别权限

    服务器级别权限不特定于单个项目,而是在服务器范围设置的。只能为三个类别的用户设置这些权限:

    • 服务器级的用户和组,如 Team Foundation Administrators

    • 已在 Team Foundation 服务器上添加至服务器级的项目级组

    • 您创建并添加至服务器级的自定义组

    您可以通过在 Team Foundation Server 中右击团队资源管理器中的服务器,然后单击“安全”来设置这些权限。您可以使用 TFSSecurity 命令行实用工具来设置这些权限,带有 tf: 标识的命令行实用工具除外。对于带有 tf: 标识的权限,可使用源代码管理的 tf 命令行实用工具的 Permission 命令设置这些权限。有关更多信息,请参见 TFSSecurity 命令行实用工具命令Permission 命令

    权限名称

    命令行中的名称

    说明

    管理搁置的更改

    tf: AdminShelvesets

    具有该权限的用户可以删除其他用户创建的搁置集。

    管理仓库

    ADMINISTER_WAREHOUSE

    具有该权限的用户可以使用 WarehouseController.asmx Web 服务的 ChangeSetting Web 方法更改仓库设置。例如,您可以允许用户设置计算 OLAP 多维数据集的更新时间间隔。

    管理工作区

    tf: AdminWorkspaces

    具有该权限的用户可以为其他用户创建工作区并删除其他用户创建的工作区。

    创建工作区

    tf: CreateWorkspace

    具有该权限的用户可以创建源代码管理工作区。

    创建新项目

    CREATE_PROJECTS

    具有此权限的用户可以在 Team Foundation Server 中创建新项目。为了成功创建新项目,这些用户必须是 Windows SharePoint Server 中“SharePoint Central Admins”组的成员,并且在 SQL Reporting Services 中具有“内容管理员”权限。

    编辑服务器级的信息

    GENERIC_WRITE

    tf: AdminConfiguration

    tf: AdminConnections

    具有此权限的用户可以编辑 Team Foundation Server 上用户和组的服务器级别权限。他们可以从 Team Foundation Server 中添加或移除服务器级的 Team Foundation Server 应用程序组。当通过菜单设置时,“编辑服务器级别信息”权限还将隐式允许用户修改源代码管理权限。若要从命令行授予上述所有权限,必须使用 tf.exe Permission 命令授予 AdminConfigurationAdminConnections 权限,以及 GENERIC_WRITE。

    注意注意:

    无法删除 Team Foundation Administrators 等默认服务器组。

    改变跟踪设置

    DIAGNOSTIC_TRACE

    具有此权限的用户可以更改跟踪设置,以收集有关 Team Foundation Server Web 服务的更详细的诊断信息。有关跟踪的更多信息,请参见 Team Foundation Server 的跟踪设置

    触发事件

    TRIGGER_EVENT

    具有此权限的用户可以在 Team Foundation Server 中触发项目警报事件。该权限只应指派给服务帐户。

    管理过程模板

    MANAGE_TEMPLATE

    具有此权限的用户可以从 Team Foundation Server 下载、向其上载、创建和编辑过程模板。

    查看服务器级别信息

    GENERIC_READ

    具有该权限的用户可以查看服务器级别的组成员资格以及那些用户的权限。

    查看系统同步信息

    SYNCHRONIZE_READ

    有此权限的用户可触发同步事件。该权限只应指派给服务帐户。

    项目级别权限

    项目级别权限特定于单个项目的用户和组。您可以通过在 Team Foundation Server 中右击团队资源管理器中的项目,单击“团队项目设置”再单击“安全”来设置这些权限。还可以使用“TFSSecurity”命令行实用工具来设置这些权限。

    权限名称

    命令行中的名称

    说明

    删除此项目

    DELETE

    具有此权限的用户可以从 Team Foundation Server 中删除他们有权删除的项目。

    编辑项目级信息

    GENERIC_WRITE

    具有此权限的用户可以编辑 Team Foundation Server 上用户和组的项目级别权限。

    发布测试结果

    PUBLISH_TEST_RESULTS

    具有该权限的用户可以添加或移除团队项目门户的测试结果,也可以添加或移除测试运行。

    查看项目级信息

    GENERIC_READ

    具有该权限的用户可以查看项目级别的组成员资格以及那些项目用户的权限。

    生成级别的权限

    生成级别的权限特定于生成计算机的用户和组。您可以通过右击团队资源管理器中的项目,单击“团队项目设置”再单击“安全”来设置这些权限。另外,您还可以使用 TFSSecurity 命令行实用工具设置这些权限。

    权限名称

    命令行中的名称

    说明

    管理版本

    ADMINISTER_BUILD

    具有该权限的用户可以删除完成的生成并停止正在进行的生成。

    编辑版本质量

    EDIT_BUILD_STATUS

    具有此权限的用户可以通过 Team Foundation Build 用户界面添加有关版本质量的信息。此信息存储在 Team Foundation Build 的数据库存储区中。

    启动版本

    START_BUILD

    具有此权限的用户可以通过 Team Foundation Build 界面或从命令行启动版本。

    写入版本操作存储区

    UPDATE_BUILD

    必须向用于运行生成服务的帐户授予此权限,才能更新 Team Foundation Build 的数据库存储区。此权限应只分配给服务帐户,而不应分配给单个用户。

    工作项跟踪区域级别权限

    区域级别权限特定于单个项目的用户和组。您可以通过右击团队资源管理器中的项目,单击“区域和迭代”,在“区域”选项卡上单击“安全”来设置这些权限。另外,您还可以使用 TFSSecurity 命令行实用工具设置这些权限。

    注意注意:

    某些工作项跟踪操作需要多种权限。例如,您需要多种权限来删除节点。

    权限名称

    命令行中的名称

    说明

    创建子节点并对子节点排序

    CREATE_CHILDREN

    有此权限的用户可以创建新的区域节点。同时具有此权限以及“编辑此节点”权限的用户可以移动任何子区域节点或对任何子区域节点重新排序。

    删除此节点

    DELETE

    同时具有此权限以及对另一个节点的“编辑此节点”权限的用户可以删除区域节点并对所删节点中的现有工作项重新分类。删除的父节点下的任何子节点将同时删除。

    编辑此节点

    GENERIC_WRITE

    具有该权限的用户可以重命名区域节点。

    编辑此节点中的工作项

    WORK_ITEM_WRITE

    具有该权限的用户可以编辑此区域节点中的工作项。

    查看此节点

    GENERIC_READ

    具有该权限的用户可以查看此节点的安全设置。

    查看此节点中的工作项

    WORK_ITEM_READ

    具有该权限的用户可以查看,但不能编辑或更改此区域节点中的工作项。

    工作项跟踪迭代级别权限

    迭代级别权限特定于单个项目的用户和组。您可以通过右击团队资源管理器中的项目,单击“区域和迭代”,在“迭代”选项卡上单击“安全”来设置这些权限。另外,您还可以使用 TFSSecurity 命令行实用工具设置这些权限。

    注意注意:

    某些工作项跟踪操作需要多种权限。例如,您需要多种权限来删除节点。

    权限名称

    命令行中的名称

    说明

    创建子节点并对子节点排序

    CREATE_CHILDREN

    具有此权限的用户可以创建新的迭代节点。同时具有此权限以及“编辑此节点”权限的用户可以移动任何子迭代节点或对任何子迭代节点重新排序。

    删除此节点

    DELETE

    同时具有此权限以及对另一个节点的“编辑此节点”权限的用户可以删除迭代节点并对所删节点中的现有工作项重新分类。删除的父节点下的任何子节点将同时删除。

    编辑此节点

    GENERIC_WRITE

    具有此权限的用户可以重命名迭代节点。

    查看此节点

    GENERIC_READ

    具有该权限的用户可以查看此节点的安全设置。

    源代码管理权限

    源代码管理权限特定于源代码文件和文件夹。您可以按以下方法设置这些权限:右击“源代码管理资源管理器”中的文件夹或文件,单击“属性”,在“安全”选项卡上选择要为其更改权限的用户或组,然后编辑“权限”中列出的权限。可以通过使用 tf(源代码管理命令行实用工具)来设置这些权限。

    权限名称

    命令行中的名称

    说明

    读取

    tf: Read

    具有该权限的用户可以读取文件或文件夹的内容。如果用户对文件夹有“读”权限,则即使用户没有打开文件的权限,用户仍可以看到文件夹内容以及文件夹中的文件的属性。

    签出

    tf: PendChange

    具有该权限的用户可以执行签出并对文件夹中的项执行挂起更改。挂起更改的示例包括添加、重命名、删除、撤消删除、分支和合并文件。

    签入

    tf: Checkin

    具有该权限的用户可以签入项并修订任何提交的变更集注释。签入时将提交挂起的更改。

    加标签

    tf: Label

    具有该权限的用户可以对项进行标签。

    锁定

    tf: Lock

    具有该权限的用户可以锁定或取消锁定文件夹或文件。

    修订其他用户的更改

    tf: ReviseOther

    即使其他用户签入了文件,具有该权限的用户仍可以编辑该签入文件上的注释。

    取消锁定其他用户的更改

    tf: UnlockOther

    具有该权限的用户可以取消锁定其他用户锁定的文件。

    撤消其他用户的更改

    tf: UndoOther

    具有该权限的用户可以撤消其他用户所做的挂起的更改。

    管理标签

    tf: LabelOther

    具有该权限的用户可以编辑或删除其他用户创建的标签。

    操作安全设置

    tf: AdminProjRights

    具有该权限的用户可以设置这些文件和文件夹的权限。

    签入其他用户的更改

    tf: CheckinOther

    具有该权限的用户可以签入其他用户所做的更改。签入时将提交挂起的更改。

     
     
         我遇到的80%的问题按上面的权限说明基本都解决了,认真摸索一下上面的那些权限,彻底了解了,tfs的权限大概就掌握的差不多了,本人也在摸索过程中。另外,提示一下,当在项目源代码中新建管理文件夹时,一定要注意“继承项目权限”项前面的勾要勾上,不然,会造成无人能添加该文件的管理成员的局面。这个问题难到了我们不少leader,呵呵,最后团队合作才发现了这个问题,大家一定要注意了,不然管理员也无能为力了。】
         暂时总结一下,学习中,不断完善中。。。
  • TFS学习:团队浏览器---文档节点排错

    2009-07-29 18:31:54

    关于 团队浏览器->文档 节点 排错的思路

    (English Version)

    用户可以通过 团队浏览器(以下简称TE->TFS服务器名->团队项目名->文档 节点来读取和操作项目文档。这篇文章讨论1)项目文档树形结构是如何在TE中显示出来的,2)几种观察到的错误情形,以及 3)出现错误时如何排查的思路。

     

    当用户登录到TE,或在团队项目节点上进行“刷新”操作时,TE做如下动作:

    1.  TE调用一个WSS web service  http://<WSSServer:port>/sites/<project name>/_vti_bin/Lists.asmx, web method GetListItems。参数定义令WSS递归读取团队项目文档库根路径下所有文件/文件夹记录。调用方法使用的身份是当前使用TE的用户,而不是 TFS 服务用户。

    2.  WSS web service 返回的响应是一个XML字符串,主要部分就是一个数据集,每条记录对应文档库中的一个文件或文件夹。记录包括一些描述该文件/文件夹的WSS属性。

    3.  TEXML数据集每条记录的ows_FileRef属性(文件/文件夹的路径)建立树形结构。对每个”\”结尾的记录,添加一个文件夹节点;对每个非”\”结尾的数据,按照路径添加到相应文件夹节点下。如路径为“\folderA\folderB\fileC.doc” 的项目,就添加到文件夹folderA 下的文件夹folderB下,命名为fileC.doc。这里的实现很直接。

     

    现在来看几种出问题的情形。

    l  “文档”节点标了个红叉,下面没有数据. 因为从WSS web service取数据的请求是使用当前用户身份发出的,因此如果当前用户没有访问该WSS文档库的权限,就没有数据返回。 这是TFS新用户经常提出的问题。 TFS中的项目团队和权限定义仅覆盖版本控制和任务项管理。为了让团队成员能够访问团队项目站点及文档库,项目经理需要在WSS站点中额外定义用户的访问权限。同样的,为了让项目成员可以访问到各种报表,项目经理还需要在reporting service站点定义相应权限。   

    另一个可能的原因是目标WSS服务当前(对本机)不可用。这两种情形使用web浏览器访问一下WSS站点就可以验证。

    l  文档树出现错误。这种情况很少见。有一次用户报告说TE中的文档树是错误的。有一个文件夹丢失了,文件夹中的文档都被错误地放置在文档库根目录下面。检查WSS web method返回的数据,我们发现记录集中所有的文件\文件夹都在,唯独缺少丢失的文件夹对应的记录。这样TE在建立文档树的时候就没有生成该文件夹节点。文件夹下的文档无处可放,就直接放在了根路径下。最终原因是WSS数据库中该文件夹对应的记录不知何故丢失了。补足这一记录,问题就解决了。

    顺便说一句,最初看起来确实像是TE出了问题。WSS数据库记录丢失的情况下,WSS自己的站点似乎知道如何处理。WSS站点中相应的文件和文件夹都显示在正确的位置。

    l  一些文件/文件夹从文档树中丢失了. 您的WSS文档库是不是存放了超过一万条记录呢?TEWSS请求数据时,参数“RowLimit” 设定为 10,000。因此文档树最多显示一万条记录(包括文件和文件夹)。TE20052008中这个数量无法通过配置进行修改,将来的版本或许会提高限额。如果您的文档库超过一万条记录,那么不要从TE看文档了,还是用WSS站点吧。

     

    当到TE->文档 节点出现错误的时候, 建议按照如下顺序排错:

    1.     在同一台计算机上,使用同一登录帐户,通过web浏览器打开项目portal站点,看是否能够正常浏览TE无法访问的内容。如果也出现了问题,就从WSS方面入手。否则继续往下;

    2.     抓取TEWSS之间的网络通讯包(是用MS network monitor,wireshark, fiddler等工具.), 检查围绕/sites/<project name>/_vti_bin/Lists.asmx的请求和响应。请求是否发送向正确的server?参数是否正确?响应是否包含正确的数据集?

    3.     如果步骤2中的WSS响应看起来没有问题,那多半就是TE出状况了。可以到MSDN论坛看看,或者联系微软技术支持。

  • 解决访问TFS时“文档”和“报告”打叉的问题

    2009-07-29 18:01:17


    自从使用了VSTS,访问TFS时"文档"和"报告"出现小红叉,就是这个问题与我结下了不解之缘,一直没有解决!于是乎我就在博问上发表了“关于TFS中,windows帐户配置问题 ” ,悬赏分5分;等了许久许久,没有人给予答复;本人在博客圆安家不久,人生地不熟。好心的兄弟给我顶了一贴.......... 最后在问题将要过期的前一分钟,很无奈地把它关闭了。
    这时候我想到了微软的TFS讲师王然,于是发Email求助。内容如下:
    "王老师,您好.我最近学TFS,看了您的教程.现在遇到一个TFS设置的问题,我装的是单服务器模式.已为要使用的windows帐户配置了wss和 report services的查看权限,在装有TFS的服务器上,也就是本地机器上,测试“文档”和“报告”是可以连上的。但是在别的机器上用同样的windows 帐户登陆之后。“文档”和“报告”却是带小红叉的。就是说没有连上,多次刷新无效。断开连接,重新连接也不行。关闭本地防火墙也不行。不知道是什么原因,网上找了找。无结果。请问这是怎么回事啊? "
    王然讲师的答复:
    在工作组的环境下,需要使用同名同密码的策略,也就是说:在客户端也要建立和服务器上相同的用户名和密码,然后使用这个用户登录,然后再连接就可以了。
    结果不容乐观,我的问题依旧没有解决。就再次发了Email:
    您好!
     我这里使用的是同一个局域网的.我在自己的机器上创建了一个和服务器一样的用户---如:用户:Test,密码:123;然后我用Administrator用户连接服务器,报表和文档连接失败;重启,再次尝试连接.依然没有成功;接着注销了Administrator用户,用Test用户登录,然后再次连接,报表和文档还是显示一个小红叉.不知道是何种原因?您能给分析一下吗?谢谢...............
    再次得到的答复:
    服务器上你用哪个用连没有问题,在客户端就用哪个用户登录。肯定是没有问题的。像你说的:在服务器和客户端建一个test 123用户,这个用户在服务器上连接没有问题,在客户端就没有问题。就用一个用户 ,和administrator没有关系。如果你在服务器上是用administrator连接的,那在客户端也用administrator(同密码)登录,连接服务器,肯定没有问题。

    看起来没有办法了。问题就这样到了今天.......................................
    网上关于TFS的东西很少,有时候还能在英文网站上找些..................
    给大家发这么多没用的信息,实在抱歉,只是想抒发一下问题所带来的影响;

    就在今天,新的项目刚放上去不久,一个兄弟再次提到了这个问题。于是不得不再次探讨。但就在这个时候,我的“文档”和“报告”的小红叉却莫名其妙的消失了。郁闷之时。去寻找原因,最终还是没有找到。在做了多次测试后,把问题锁定到了"DNS"解析问题上。在工作组里只有两个人的“文档”和“报告”能连接到 TFS上。同时在cmd 命令行里输入“ping pcserver"(pcserver是TFS服务器,安装配置情况在“关于TFS中,windows帐户配置问题 ”已有说明)可以正常解析;在“文档”和“报告”连接不上的机器上会出现“找不到pcserver” 的相关提示。
    于是就找到了“C:\WINDOWS\system32\drivers\etc”这个路径下的“hosts”文件,注意这个文件是没有扩展名的(如果你安装了MSN的话,会出现一个"hosts.msn"的文件,和"hosts"文件内容相同),这个文件可以直接用记事本打开。这是你会在最后一行看到“127.0.0.1       localhost” (我的机器用的是win2003的系统),前面加"#"的是说明;这时候你可以在“localhost”后面敲回车。在另一行写入“TFS服务器IP TFS服务器名字”;在两者中间用空格分开就可以了。这时候你再次连接TFS服务器的时候,就会发现那个“可爱”的小红叉已经不见了;
    下面来介绍一下,这样做的原因:
    一、Hosts文件的位置
        Window系统中有个Hosts文件(没有后缀名),在Windows 98系统下该文件在Windows文件夹。在Windows 2000/XP/Vista系统中位于\%Systemroot%\System32\Drivers\Etc 文件夹中,其中,%Systemroot%指系统安装路径。例如,Windows XP 安装在C:\WINDOWS,那么Hosts文件就在C:\WINDOWS\system32\drivers\etc中。 你也可以用windows自带的查找功能搜索找到hosts文件。 该文件其实是一个纯文本的文件,用普通的文本编辑软件如记事本等都能打开和编辑。
    二、Hosts文件的基本内容
        用记事本打开hosts文件,就可以看见了微软对这个文件的说明。Hosts文件文一般有如下面的基本内容:
    # Copyright (c) 1993-1999 Microsoft Corp.
    #
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    #
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host name.
    # The IP address and the host name should be separated by at least one
    # space.
    #
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a '#' symbol.
    #
    # For example:
    #
    # 102.54.94.97 rhino.acme.com # source server
    # 38.25.63.10 x.acme.com # x client host

    127.0.0.1 localhost
    这个文件是根据TCP/IP for Windows 的标准来工作的。它的作用是定义IP地址和Host name(主机名)的映射关系,是一个映射IP地址和Host name (主机名) 的规定。这个规定中,要求每段只能包括一个映射关系,也就是一个IP地址和一个与之有映射关系的主机名。 IP地址要放在每段的最前面,映射的Host name(主机名)在IP后面,中间用至少一个空格分隔。对于这段的映射说明,用“#”分割后用文字说明。
    三、Hosts文件的工作方式
        我们知道在网络上访问网站,要首先通过DNS服务器把要访问的网络域名(XXXX.com)解析成XXX.XXX.XXX.XXX的IP地址后,计算机才能对这个网络域名作访问。要是对于每个域名请求我们都要等待域名服务器解析后返回IP信息,这样访问网络的效率就会降低,因为DNS做域名解析和返回IP都需要时间。
    为了提高对经常访问的网络域名的解析效率,可以通过利用Hosts文件中建立域名和IP的映射关系来达到目的。根据Windows系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否有这个网络域名映射关系。如果有则,调用这个IP地址映射,如果没有,再向已知的DNS服务器提出域名解析。也就是说Hosts的请求级别比DNS高。

    最后要指出的是,Hosts文件配置的映射是静态的,如果TFS服务器更改了IP请及时更新客户端的IP地址,否则将不能访问。
    版权归 三月软件小组--高超所有    转载请注明   谢谢!

Open Toolbar