Friday, December 05, 2008

★用Ntdsutil修复AD

  根据系统的报错信息、系统日志或者应用程序的报错,怀疑出错原因是域控制器上的Active Directory,这时可能您最先想到的就是使用Ntdsutil工具的修理功能来修复。但是,我建议您最好把它作为所有可用方法中最后的方案。如果有一个有效的备份,最好使用备份来恢复系统,应该始终把使用备份来恢复作为您首选的方案。

  对目录数据库使用修复功能并不总是能够达到预期的结果。比如,如果数据库文件真的损坏了,即使使用Ntdsutil也没有办法恢复所有的对象和属性值。实际上,在某些情况下使用修复工具反而会造成更多的数据丢失,所以在尝试使用这种修复工具之前,注意把这台服务器从网络中隔离开来,以避免影响到其他域控制器的Active Directory复制。在确认修复后的服务器一切正常以后再连接到网络中来。

  下面以Windows Server 2003为例来介绍如何使用Ntdsutil修复Active Directory数据库。

  要对数据库进行修理请按照以下步骤。

  (1)打开命令行提示符窗口,输入下面的命令:

  Ntdsutil

  (2)当出现Ntdsutil的提示后,输入下面的命令:

  repair

  当其他一切努力都失败的时候,您可能才会发现从Active Directory的备份中恢复一个Windows 2000域控制器(甚至可以恢复整个Active Directory网络)才是最有效的。虽然要把Active Directory从一个备份恢复到一个域控制器上不是一件难事,但是在您进行任何恢复之前,需要对网络体系和逻辑关系仔细考虑。如果在一个网络中存在一台以上的Windows 2000 域控制器,Active Directory将不再只存放在一个地方,这是一个非常重要的问题,它直接决定了将来的恢复过程。试着问问自己以下的几个问题。

  是否本地的Active Directory数据库损坏了,其他复制过的域控制器也损坏了吗?当一个域控制器从一个好的备份中恢复以后,是否应该覆盖其他Active Directory中的数据?如果要覆盖,那么是否会丢失所有修改过的数据(例如新建或删除的组织单位、修改过的用户和计算机)?能否只恢复本地的Active Directory从而让它恢复正常(可能因为数据库损坏、文件丢失或其他原因造成这台服务器与其他不一致)?在恢复以后,这台服务器应该从哪些域控制器上接收更新数据?

  回答以上问题将有助于您决定使用哪一种恢复模式:非授权(Nonauthoritative)模式或者授权(Authoritative)模式。

  非授权恢复模式:大多数的恢复操作都是基于非授权模式的。通常当您发现本地一台Windows 2000域控制器有问题,并且确信网络上其他的域控制器的Active Directory是正常的时候,一般会采用非授权恢复模式。在非授权恢复过程中,所有恢复后的数据都会根据比较升级序号(USN)收到网络上最新的更新(包括Active Directory的对象)。Active Directory在同一个域中,通过比较升级序号来跟踪最新修改。

  授权恢复模式:当其他的域控制器包含了无效的复制和数据时,可以采用授权恢复模式。在这种情况下,可以手工指定要恢复的整个Active Directory的数据库。指定本地恢复的数据库是授权的(也就是在与其他域控制器复制时,以本地恢复的版本为准)。授权恢复模式要修改Active Directory的升级序号,这样它的序号就高于其他的域控制器,从而使本地恢复的数据复制到其他的域控制器上。

  您可以使用一台服务器的备份来恢复这台服务器本身,在通常情况下不能用这台服务器的备份去恢复其他的服务器。但是,如果某台域控制器真的停机了,还是可以使用这台服务器的备份恢复到另一台服务器上以取代原来服务器的。在制定备份策略的时候,一定要把这些限制考虑进去。要对整个网络做完整的备份,需要对网络内的每一个域控制器做好备份。还有,要特别注意定期备份域森林中的第一台域控制器。这台域控制器在整个域森林中都是唯一的,它包含了一些对整个网络来说都是独一无二和至关重要的数据。

如果使用Windows Server 2003自带的备份工具(Ntbackup.exe),要想成功恢复系统状态(包括Active Directory),还要必须做到以下几点。如果没有达到以下的要求,恢复操作是将会是失败的。

(1)服务器名称必须和备份的服务器名称相同。
(2)“\%systemroot%”文件夹所在的驱动器的字符必须和备份的服务器的驱动器字符相同。
(3)“\%systemroot%”文件夹所在的目录必须和备份的服务器所在的目录相同(例如都保存在“C:\winnt”目录下)。

★Netstat及arp命令的使用教程



  netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

  经常上网的人一般都使用ICQ的,不知道我们有没有被一些讨厌的人骚扰,想投诉却又不知从和下手?其实,我们只要知道对方的IP,就可以向他所属的ISP投诉了。但怎样才能通过ICQ知道对方的IP呢?如果对方在设置ICQ时选择了不显示IP地址,那我们 是无法在信息栏中看到的。其实,我们只需要通过Netstat就可以很方便的做到这一点:当他通过ICQ或其他的工具与我们相连时(例如我们给他发一条ICQ信息或他给我们发一条信息),我们立刻在DOS 命令提示符下输入netstat -n或netstat -a就可以看到对方上网时所用的IP或ISP域名了,甚至连所用Port都完全暴露了。

  IP数据包常通过以太网发送。以太网设备并不识别32位IP地址:它们是以48位以太网地址传输以太网数据包的。因此,IP驱动器必须把IP目的地址转换成以太网网目的地址。在这两种地址之间存在着某种静态的或算法的映射,常常需要查看一张表。地址解析协 议(Address Resolution Protocol,ARP)就是用来确定这些映象的协议。

  ARP工作时,送出一个含有所希望的IP地址的以太网广播数据包。目的地主机,或另一个代表该主机的系统,以一个含有IP和以太网地址对的数据包作为应答。发送者将这个地址对高速缓存起来,以节约不必要的ARP通信如果有一个不被信任的节点对本地网络具有 写访问许可权,那么也会有某种风险。这样一台机器可以发布虚假的ARP报文并将所有通信都转向它自己,然后它就可以扮演某些机器,或者顺便对数据流进行简单的修改。ARP机制常常是自动起作用的。在特别安全的网络上, ARP映射可以用固件,并且具有自动抑制协议达到防止干扰的目的。

  现在将Netstat和ARP的基本用法整理一下,希望对没用过的朋友有点帮助。

   1.netstat – a

  显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些socket。具体情况如下图:

  

  Proto:表示所采用的运输层协议,在本例中有TCP和UDP协议;

  Local Address:表示本地址,如:“apolo:1025”,指的意思是本机名是“apolo”,本连接的端口号是“1025”;

  Foreign Address:表示另一端端系统的地址和端口号;

  State:表示连接状态。常有,LISTENING(监听),ESTABLISHED(已建立),TIME_WAIT(等待)。

  2.netstat -n

  以点分四段式的形式输出IP地址,而不是象征性的主机名和网络名。

   3.netstat –r

  显示关于路由表的信息,格式同“route -e”。除了显示有效路由外,还显示当前有效的连接。具体情况如下图:

  

  该图显示的是一个路由表,其中Network Destination:表示的是目的网络。0.0.0.0表示不明网络,这是设置默认网关后系统自动产生的;127.0.0.0表示本机网络地址,用于测试。224.0.0.0表示组播地址。255.255.255.255表示限制广播地址。

  Netmask:表示的是网络掩码。

  Gateway:表示的是网关。本机的默认网关是218.18.33.1。

  Interface:表示的是接口地址。

  Metric:表示的是路由跳数。

  4.netstat –s

  按照各个协议分别显示其统计数据。

  

  

  在本例中分别显示了IP,TCP的数据统计情况。具体数据所表示的含义一目了然,在这里不再赘述。

   5.netstat –e

  用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。具体情况如下:

  

  Unicast packets:表示广播分组。

  Non-unicast packets:非广播分组。

   6.netstat –v

  显示正在进行的工作。

  

  ARP(地址转换协议)的使用

  ARP是一个重要的TCP/IP协议,并且用于确定对应IP地址的网卡物理地址。使用arp命令,我们能够查看本地计算机或另一台计算机的ARP高速缓存中的当前内容。此外,使用arp命令,也可以用人工方式输入静态的网卡物理/IP地址对,使用这种方式为缺省网关和本地服务器等常用主机进行这项操作,有助于减少网络上的信息量。

  1.arp -a或arp -g

  用于查看高速缓存中的所有项目。-a和-g参数的结果是一样的,多年来-g一直是UNIX平台上用来显示ARP高速缓存中所有项目的选项,而Windows用的是arp -a(-a可被视为all,即全部的意思),但它也可以接受比较传统的-g选项。

  2.arp -a [IP]

  如果我们有多个网卡,那么使用arp -a加上接口的IP地址,就可以只显示与该接口相关的ARP缓存项目。

  3.arp -s [IP] [物理地址]

  可以向ARP高速缓存中人工输入一个静态项目。该项目在计算机引导过程中将保持有效状态,或者在出现错误时,人工配置的物理地址将自动更新该项目。

  

  我们人工地加了218.18.33.123 00-d4-5a-8e-3f,它的类型是静态的。

  4.arp -d [IP]

  使用本命令能够人工删除一个静态项目。

★Excel高速输入的技巧

  在Excel工作表的单元格中,可以使用两种最基本的数据格式:常数和公式。常数是指文字、数字、日期和时间等数据,还可以包括逻辑值和错误值,每种数据都有它特定的格式和输入方法,为了使用户对输入数据有一个明确的认识,有必要来介绍一下在Excel中输入各种类型数据的方法和技巧。
  一、输入文本
  Excel单元格中的文本包括任何中西文文字或字母以及数字、空格和非数字字符的组合,每个单元格中最多可容纳32000个字符数。虽然在Excel中输入文本和在其它应用程序中没有什么本质区别,但是还是有一些差异,比如我们在Word、PowerPoint的表格中,当在单元格中输入文本后,按回车键表示一个段落的结束,光标会自动移到本单元格中下一段落的开头,在Excel的单元格中输入文本时,按一下回车键却表示结束当前单元格的输入,光标会自动移到当前单元格的下一个单元格,出现这种情况时,如果你是想在单元格中分行,则必须在单元格中输入硬回车,即按住Alt键的同时按回车键。
  二、输入分数
  几乎在所有的文档中,分数格式通常用一道斜杠来分界分子与分母,其格式为“分子/分母”,在Excel中日期的输入方法也是用斜杠来区分年月日的,比如在单元格中输入“1/2”,按回车键则显示“1月2日”,为了避免将输入的分数与日期混淆,我们在单元格中输入分数时,要在分数前输入“0”(零)以示区别,并且在“0”和分子之间要有一个空格隔开,比如我们在输入1/2时,则应该输入“0 1/2”。如果在单元格中输入“8 1/2”,则在单元格中显示“8 1/2”,而在编辑栏中显示“8.5”。
  三、输入负数
  在单元格中输入负数时,可在负数前输入“-”作标识,也可将数字置在()括号内来标识,比如在单元格中输入“(88)”,按一下回车键,则会自动显示为“-88”。
  四、输入小数
  在输入小数时,用户可以向平常一样使用小数点,还可以利用逗号分隔千位、百万位等,当输入带有逗号的数字时,在编辑栏并不显示出来,而只在单元格中显示。当你需要输入大量带有固定小数位的数字或带有固定位数的以“0”字符串结尾的数字时,可以采用下面的方法:选择“工具”、“选项”命令,打开“选项”对话框,单击“编辑”标签,选中“自动设置小数点”复选框,并在“位数”微调框中输入或选择要显示在小数点右面的位数,如果要在输入比较大的数字后自动添零,可指定一个负数值作为要添加的零的个数,比如要在单元格中输入“88”后自动添加3个零,变成“88 000”,就在“位数”微调框中输入“-3”,相反,如果要在输入“88”后自动添加3位小数,变成“0.088”,则要在“位数”微调框中输入“3”。另外,在完成输入带有小数位或结尾零字符串的数字后,应清除对“自动设置小数点”符选框的选定,以免影响后边的输入;如果只是要暂时取消在“自动设置小数点”中设置的选项,可以在输入数据时自带小数点。
  五、输入货币值
  Excel几乎支持所有的货币值,如人民币(¥)、英镑(£)等。欧元出台以后,Excel2000完全支持显示、输入和打印欧元货币符号。用户可以很方便地在单元格中输入各种货币值,Excel会自动套用货币格式,在单元格中显示出来,如果用要输入人民币符号,可以按住Alt键,然后再数字小键盘上按“0165”即可。
  六、输入日期
  Excel是将日期和时间视为数字处理的,它能够识别出大部分用普通表示方法输入的日期和时间格式。用户可以用多种格式来输入一个日期,可以用斜杠“/”或者“-”来分隔日期中的年、月、日部分。比如要输入“2001年12月1日”,可以在单元各种输入“2001/12/1”或者“2001-12-1”。如果要在单元格中插入当前日期,可以按键盘上的Ctrl+;组合键。
  七、输入时间
  在Excel中输入时间时,用户可以按24小时制输入,也可以按12小时制输入,这两种输入的表示方法是不同的,比如要输入下午2时30分38秒,用24小时制输入格式为:2:30:38,而用12小时制输入时间格式为:2:30:38 p,注意字母“p”和时间之间有一个空格。如果要在单元格中插入当前时间,则按Ctrl+Shift+;键。