您的位置:首页 > 运维架构 > Shell

Powershell学习笔记二:开始使用PS

2007-10-13 20:20 585 查看
启动Windows Powershell

  安装完Powershell之后,开始菜单里可以启动,也可以在运行中或在cmd中直接输入powershell。如果想查看运行powershell的选项,可以输入powershell -?
使用Windows Powershell
获取帮助
  大家知道,当我们面临一个新的操作环境时,会使用其自带的帮助是非常重要的。特别对于命令行界面来说,不熟悉命令,又不会找帮助就会陷入茫然。
  在Powershell中,使用get-help命令可以让我们加深对于powershell的了解。如果你直接输入get-help就可以查询到get-help命令本身的使用方法。如果你要获取一个cmdlet的帮助呢,就可以输入:
get-help cmdlet。例如要获取get-command这个命令的帮助,可以输入:
get-help get-command

  如果你想进一步的获取更详细的帮助,你可以使用如下格式:get-help cmdlet -detailed。例如,你要获取get-command的详细帮助,可以用:
get-help get-command –detailed

  如果你想获取cmdlet的所有帮助,就用下面的格式
get-help cmdlet –full,例如:
get-help get-command –full

  如果你只想查看帮助中的某一个部分,就用下面的格式
get-help cmdlet –examples,例如:
get-help get-command –examples
这样就可以过滤掉大量的输出,而仅仅是显示关于示例部分的内容。

如果想查看一个具体的参数有什么作用,就用下面的格式
get-help cmdlet –parameter 参数,例如:
get-help get-command –parameter totalcount
get-help get-command –parameter * 这个什么意思,你该想到吧。

  也可以用man cmd-let来获取类似于UNIX中man page的帮助页。

  还可以用help cmd-let来获取分屏显示的帮助页。不过,我试了一下,并且用重定向到了两个文件,发现输出结果居然是一致的,不知道两者的区别是什么,不管它了。

  还有狠的,get-help居然支持通配符,比如:
get-help get-*

  而且get-help甚至还支持概念解释,格式是get-help about_概念,例如:
get-help about_wildcard
get-help about_parameter

  综上所述,Powershell中的帮助做得真是到了“变态”的程度了。真是充分了体现其易用性啊,赞一个先。
使用cmdlet
cmdlet(读作command-let)是一个内置到shell中的单一功能命令行工具。它可以像以前的传统命令一样使用(其实笔者除了感觉其格式特殊外,真的没感觉到有什么不同)。秉承windows的一贯传统,Powershell也不区别大小写。例如:
get-date与Get-date是相同的。

  如果你想获取所有的cmdlet列表,可以输入get-command命令,不必输入任何参数。在输出中,我们可以看到三个列,分别是:命令类型、名称和语法定义。由于每个命令只显示一列,所以语法定义往往最后是省略号。

  当然get-command也是很强大的。它还可以获取cmdlet以外的命令和命令的元素,比如命令的别名啊,函数和其它可执行文件(外部命令)什么的。
get-command *.exe就可以列出所有Powershell中可用的可执行文件。不过比较傻的是,当你输入:
get-command *.txt时,第一列居然都显示为Application,呵呵,瑕不掩瑜了。

  接下来我们简单试试以下命令:
get-process 查看进程
get-service 查看服务
get-eventlog 查看事件日志
  这个说一下,由于系统日志有很多类别,所以输入后会要求你输入你要查看哪一类日志,一般默认系统中有system/application/security三类,如果你安装了一些其它的服务什么的可能会更多。
  有了这个cmdlet我们导出日志就更方便喽。
get-alias 查看别名,看看都有哪些命令设置了别名。可以使用set-alias为当前会话设置别名(重启就没,要一直存着的话,恐怕要修改变量才行)

  通过以上的说明,对于get cmdlet恐怕大家已经较熟悉了,现在换一个更有趣的get cmdlet,即get-wmiobject,此cmdlet很强,它可以查看和修改远程计算机的组件,例如:
get-wmiobject win32_bios –computer 计算机名
  这就可以查看对方的BIOS信息了。其它选项,大家可以自己尝试一下。另外,提示大家一句,Powershell也是支持tab补全的,要不然,就它的cmdlet这么老长,还不把新手吓晕啊。
  这个命令,我试了一下,但是没有成功连接别人的计算机,却只能连接自己的机子,估计是要先建立好IPC$连接才能连接别人机器啊。本文出自 “无忧博客总站” 博客,请务必保留此出处http://51bbs.blog.51cto.com/171675/147870
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: