WindowsPowerShell不一样的系统管理体验

WindowsPowerShell不一样的系统管理体验

  系统维护 管理中大家常在命令提示符(cmd exe)下进行操作 对Windows PowerShell鲜有接触或者使用 其实在微软的计划中 Windows PowerShell将成为CDM的继任者 是下一代命令行工具 Windows PowerShell目前最高版本为 并且已经集成到Windows Server 及Windows 中 Windows PowerShell使得IT管理员更容易地控制系统管理和加速自动化 作为系统管理员应该掌握和使用它 笔者因为工作需要开始学习Windows PowerShell 下面和大家分享几个非常实用的Windows PowerShell应用实例

   Windows PowerShell的安装

  在Windows Server 中已经集成了Windows PowerShell 不过默认情况下并没有安装 大家可以在服务管理器中进行安装而不用从网上下载 对于Windows 的用户系统已经默认安装了Windows PowerShell 直接使用就可以了 对于其他版本的Windows用户可以微软的网站x?FamilyID= deac b b e fa c fd aa bc &DisplayLang=en下载

   善用Windows PowerShell帮助

  Windows PowerShell是新的命令和脚本规范 初学者会有一定的陌生感不容易上手 其实 善用Windows PowerShell帮助可以帮助大家尽快了解其命令规范

  运行Windows PowerShell 输入并执行 get command 会返回Windows PowerShell提供的 个命令的信息 这些命令囊括了管理服务 进程 事件日志 证书 注册表以及使用 Windows Management Instrumentation (WMI)等系统管理的方方面面 如果要获取其中的某个命令的使用帮助信息 比如我们要获取 get command 这个命令的使用帮助 可以执行命令 get help get command 获取其他命令的帮助信息的方法类似 (图 )

  

  

  图 Windows Powershell

  另外 为大家提供几个很实用的技巧 如果命令的帮助信息比较多 一屏呈不下可用通道符号 | 进行分屏显示 例如 get command | more 将逐屏显示Windows PowerShell所有的程序集 get help get service full 将会显示get service这一程序集的详细帮助(包括示例) get help get service –parameter * 将会列出Get Service程序集的所有参数及参数说明 help get service –parameter * 作用和前面一个命令一样 但是将会逐屏显示 有时基于需要我们还需要使用通配符 Windows PowerShell中的通配符使用与CMD有区别 可以执行命令 get help about_wildcard 获取通配符使用的帮助信息 (图 )

  

  图 Windows Powershell

   活用别名提升操作效率

  Windows PowerShell中的命令虽然可读性强 但是命令比较长输入起来比较费事 这样我们可以根据需要创建个性的 易记的命令别名 来提高命令输入的效率降低命令输入错误的概率

  比如我们要为 get service 命令创建别名 实现输入gs可调用该命令 可Windows PowerShell命令行中执行 set alias gs get service 来实现 这样当我们执行 gs 其实就是执行 get service (图 )

  

  

  图 Windows Powershell

  除此之外 我们还可以在Windows PowerShell中为系统中的应用程序创建别名 这样我们调用某个程序时就不用进入其所在路径并输入程序名进行调用了 例如我们要为活动目录工具dsmgmt exe创建别名ad 可以在Windows PowerShell命令行中执行 set alias ad c:windowssystem dsmgmt exe 其中ad就是命令别名 c:windowssystem 是dsmgmt exe所在路径 我们在Windows PowerShell命令行中执行ad可以看到调用了dsmgmt exe工具 (图 )

  

  

  图 Windows Powershell

  当然 可以创建别名也可以删除别名 比如我们要删除刚才创建的dsmgmt exe的别名ad 可以在Windows PowerShell命令行下执行 remove item alias:ad 即可 这样当我们执行别名ad时会显示错误 因为它已经被删除了 (图 )

  

  图 Windows Powershell
   

   自定义函数实现特殊需要

  Windows PowerShell优于CMD的一个特性是可以创建自定义函数以实现某些特殊需要 其实 函数和上面的别名比较类似 不过 函数比别名要复杂 它可以使用参数 我们可以通过函数来创建复杂PowerShell命令的快捷方式 比如我们创建一个名为display RunningService的函数 以显示当前服务器上正在运行的所有服务 可以执行命令 function display RunningService {get service | where object {$_ Status eq Running }} 其中function申明创建函数 display RunningService是函数名 {get service | where object {$_ Status eq Running }}是筛选出当前所有状态为Running的系统服务即当前正在运行的服务 函数创建完毕后 如果此后我们要查看当前服务器中正在运行的服务只需在Windows PowerShell的命令行下执行 display RunningService 即可 如果要删除该函数 我们只需执行 Remove Item Function: display RunningService 就可以了 (图 )

  

  图 Windows Powershell

  上面的例子只是Windows PowerShell自定义函数的一个简单的例子 在系统管理中管理员完全可以根据自己的需要创建各种函数 实现一劳永逸快速进行系统的管理和维护 此外 Windows PowerShell中也可创建带参数的自定义函数 以满足更复杂 灵活的系统管理的需要

   快速访问注册表

  访问注册表是Windows PowerShell一个非常实用的特性 利用该功能我们可以实现对注册表的快速访问 通过注册表键值了解系统状况 特别是在某些特殊情况下 比如注册表被锁时 这应该是我们通往注册表的一条通道 在Windows PowerShell的命令行下可执行 cd path hklm: 可进入注册表HKEY_LOCAL_MACHINE主键路径下 继续执行 dir 可显示HKLM主键下的各子键 执行 cd SoftwareMicrosoftWindowsCurrentVersionRun 进入系统自启动项下 执行 gp * 将显示RUN项的属性以及下面的键值 输出结果中前面四个为RUN项的属性 据此管理员可进行进行分析启动项是否正常 说明一下 刚才输入的命令中 Gp * 是 get itemproperty path name * 的快捷方式 简化的输入 (图 )

  

  

  图 Windows Powershell

   获取详细的系统信息

  Windows PowerShell和系统底层函数无缝结合 我们可以利用其提供的对象获取详细的系统信息 比如我们要获取服务器的DNS信息 可以在Windows PowerShell中执行命令 Get WMIObject win _service filter name= DNS | format table 以查看当前DNS运行状态 其中 Get WMIObject win _service 是使用WMI对象获取系统服务信息 filter name= DNS 是筛选其中的DNS服务 当然我们可以替换ame= DNS 的DNS获取其他服务信息 format table 是以列表的形式显示结果 另外 我们还可以加入 computer参数获取域中其他主机的DNS信息 比如执行命令 Get WMIObject win _service filter name= DNS computer | format table 可以获取域中jp主机的DNS运行信息 (图 )

  

  

  图 Windows Powershell

  总结 上面六个应用实例只是Windows PowerShell应用中极少的一部分 并且每一部分的实例只是其简单应 并没要深入下去 毫不讳言 Windows PowerShell的一个非常强大的系统管理工具 系统通过本文 大家能够对其引起重视它 进而学习它 使用它 提升你的系统管理 维护效率

WindowsPowerShell不一样的系统管理体验

相关文章:

你感兴趣的文章:

标签云: