善用命令无疑会提升系统管理的效率。此外,利用命令中的隐藏参数,可实现某些在图形界面下不能或者不容易实现的任务。在Windows 7中集成了数量可观的命令工具,这些工具是我们进行系统管理的有力武器。下面笔者列举Windows 7中的几个命令行工具,利用它们来实现更快捷的系统管理任务。
1、用powercfg删除无用电源管理方案
通过Windows 7的电源管理控制台,我们可根据需要创建自己的电源管理方案,但是控制台并不提供电源方案删除功能。对于那些我们不需要的电源方案该如何删除呢?此时大家可powercfg命令来实现。
powercfg.exe是从Vista开始引入Windows系统的一个电源管理命令,大家可在命令行下输入“powercfg /?”来查看该命令的参数和实例。删除电源方案的命令格式为“ Powercfg -delete ”,其中GUID就是电源管理方案的标识符,我们可执行命令“powercfg -list”来获取。如图1所示,如果我们要删除名称为JP的电源管理方案,执行命令“powercfg -delete 53d4577a-49c1-4867-ba59-7fd20316fa2d”即可。
2、用defrag加速磁盘碎片整理
defrag.exe是Windows集成的磁盘碎片整理程序,与Vista相比Windows 7的磁盘碎片整理工具提供了更多的参数,利用这些参数我们可对磁盘碎片整理进行更多的控制。在此笔者向大家介绍几个有趣的参数:/r 并行处理多个驱动器,可以实现同时对多个驱动器进行碎片整理;/h 让磁盘碎片整理工具使用更多的系统资源,以便加速运行(通常我们会在系统空闲时间进行磁盘碎片整理,这个选项加速磁盘碎片整理的速度,不会与其他应用程序争夺系统资源);/u 提供定期进度报告,我们可以看到整理碎片的详细过程,以便了解磁盘碎片状态。比如我们执行命令“defrag /c /h /u /r”可在一个命令行窗口中快速整理多个驱动器。当然,defrag还有其他的参数,打开可在命令行下执行“defrag /?”以获取。
3、用tzut.exe快速设置时区
大家知道,我们此前我们要设置系统时区只能在图形界面下进行操作。如果管理员要通过脚本来统一进行时区设置,这是不可能的。在Windows 7中新增了一个命令tzutil,利用该命令我们可以在命令行下设置时区,当然也能够实现编写脚本实现时区的统一设置。
tzutil最常用的参数有三个:在命令行下执行“tzutil /l”可列出所有的时区,执行“tzutil /g”显示当前时区,如图所示笔者的系统时区是“China Standard Time”即北京标准时间。当然最常用的是更改系统时区,比如我们要将系统时区设置为美国东部时区,可在命令行下执行命令“tzutil /s “US Eastern Standard Time””即可。
4、用fsutilhardlink.exe快速链接文件
Linux/Unix的文件链接功能确实给管理员带来了方便,在Windows 7中也提供了一个命令fsutilhardlink.exe,利用它我们可以快速地创建文件硬链接。这种类似文件快速方式的文件访问、调用方式不仅免去了拷贝文件副本的麻烦,而且硬链接也提高了文件的安全性。比如,我们为一个文件创建了多个硬链接,那么除非将所有的硬链接都删除掉,否则该文件就无法从卷上删除。
要为文件创建硬链接,需要使用“fsutil hardlink”命令。其命令格式为“fsutil hardlink create newfilepath currentfilepath”。其中newfilepath是要为该文件创建的硬链接的路径,而currentfilepath是要链接到的现有文件的名称。例如,我们要为c:\test目录中的test.doc文件创建新的硬链接c:\ctocio\ctocio.doc,需要执行命令“fsutil hardlink create c:\ctocio\ctocio.doc c:\test\test.doc”。命令执行完毕后,硬链接创建成功。此时,当我们双击 c:\ctocio\ctocio.doc打开的则是c:\test\test.doc文件。
5、用bededit.exe管理系统引导配置
bededit.exe是从Vista开始引入的一个命令行工具,用来管理系统引导配置。对于高级系统用户来说,利用“BCD编辑器”来管理系统引导配置是最灵活的。下面笔者列举Windows 7下bededit.exe的几个应用实例。
(1).查看引导配置
在命令行下执行bededit.exe命令,就会显示系统的BCD信息,命令执行结果和Vista类似。不过需要注意的是,Windows7 BCD文件比Windows Vista和Windows Server2008多出了recoverysequence和recoveryenabled两个属性。此外,其中类似{ba50c1f0-3752-11de-90d5-cdf8d52a3222}的字符串标识符,以便被系统引用。需要说明的是,如果计算机中安装了其他Windows系统,我们会看到每一个系统都有其对于的BCD项。
(2).创建BCD
通过使用BCD编辑器,我们可以创建非系统的BCD存储。在命令行下执行下面格式的命令“bcdedit /createstore storepath”,其中/createstore是参数,表示创建BCD存储,而storepath就是你希望创建非系统存储的文件的时间保存位置。例如我们执行命令“bcdedit /createstore d:\ctocio\bcd”即可。
(3).导入、导出ECD
利用bcdeidt.exe命令我们可以导入或者导出ECD存储,要导出系统的BCD存储中的内容到特定文件需要使用“/export”参数。在命令行下执行命令“bcdedit /export storepath”,storepath就是用于保存系统BCD存储内容的实际文件路径,例如执行命令“bcdedite /export d:\ctocio\backup”就会将系统的BCD信息保存到d:\ctocio\backup文件中。如果要还原系统的BCD信息,我们可以通过bcdedit.exe的“/import”参数将BCD备份导入进来。其命令格式为“bcdedicdt /import importpath”,其中importpath为保存了BCD信息的文件夹的实际路径。例如执行命令“bcdedit /import d:\ctocio\backup”就可将刚才备份的BCD信息重新导入进来。
6、用netsh.exe配置系统防火墙
Windows 7的防火墙在功能和安全性上有了很大的提高,但防火墙规则太多配置起来比较麻烦,其实对于一般的防火墙配置我们可用netsh.exe来完成,而不用打开防火墙配置窗口。下面笔者列举几个比较常用的防火墙配置实例。
(1).查看、开启或禁用系统防火墙
打开命令提示符输入输入命令“netsh firewall show state”然后回车可查看防火墙的状态,从显示结果中可看到防火墙各功能模块的禁用及启用情况。命令“netsh firewall setopmode disable”用来禁用系统防火墙,相反命令“netsh firewall set opmode enable”可启用防火墙。
(2).允许文件和打印共享
文件和打印共享在局域网中常用的,如果要允许客户端访问本机的共享文件或者打印机,可分别输入并执行如下命令:
netsh firewall add portopening UDP 137 Netbios-ns
(允许客户端访问服务器UDP协议的137端口)
netsh firewall add portopening UDP 138 Netbios-dgm
(允许访问UDP协议的138端口)
netsh firewall add portopening TCP 139 Netbios-ssn
(允许访问TCP协议的139端口)
netsh firewall add portopening TCP 445 Netbios-ds
(允许访问TCP协议的445端口)
命令执行完毕后,文件及打印共享所须的端口都被防火墙放行了。
(3).允许ICMP回显
默认情况下,Windows 7出于安全考虑是不允许外部主机对其进行Ping测试的。但在一个安全的局域网环境中,Ping测试又是管理员进行网络测试所必须的,如何允许Windows 7的ping测试回显呢?
当然,通过系统防火墙控制台可在“入站规则”中将“文件和打印共享(回显请求– ICMPv4-In)”规则设置为允许即可(如果网络使用了IPv6,则同时要允许 ICMPv6-In 的规则。)。不过,我们在命令行下通过netsh命令可快速实现。执行命令“netsh firewall set icmpsetting 8”可开启ICMP回显,反之执行“netsh firewall set icmpsetting 8 disable”可关闭回显