PowerShell⼊门教程之PowerShell有什么⽤?PowerShell能⼲什么呢?就像序⾔中提到的那样,PowerShell⾸先是个Shell,定义好了⼀堆命令与操作系统,特别是与⽂件
系统交互,能够启动应⽤程序,甚⾄操纵应⽤程序;第⼆,PowerShell允许将⼏个命令组合起来放到⽂件⾥执⾏,实现⽂件级的重⽤,也就是说有脚本的性质;第三,PowerShell能够能够充分利⽤.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、⾃动化的操作。
⼀、与⽂件系统交互、运⾏应⽤程序
就像在Dos中⼀样,在PowerShell的交互界⾯上键⼊"dir"并回车,会显⽰当前⽂件夹下的⼦⽂件夹和⽂件信息。
复制代码代码如下:
PS D:\Projects\Practise\PowerShell> dir
Directory: D:\Projects\Practise\PowerShell
powershell怎么以管理员身份运行Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 1/23/2013 12:35 PM d1
d---- 1/23/2013 12:35 PM d2
-a--- 1/21/2013 8:38 PM
-a--- 1/21/2013 8:32 PM 241530 cmdlets.
-a--- 1/18/2013 10:18 AM 888 errors.t
像这样的命令很多,⽐如echo "Hello", cd ..等等。从这⾥看来它就是⼀个命令⾏,实现了原来命令⾏的功能。但PowerShell 是命令⾏的加强版吗,是命令⾏的超集吗?这个真不是,以后会专门说这个问题。
就像在命令⾏⾥运⾏应⽤程序⼀样,可以在PowerShell的交互窗⼝中运⾏应⽤程序,如下:
复制代码代码如下:
PS C:\Users\v-lukez> notepad
PS C:\Users\v-lukez>
如果想更好地控制应⽤程序,可以使⽤start命令,如下:
复制代码代码如下:
PS C:\Users\v-lukez> start notepad -WindowStyle Maximized
PS C:\Users\v-lukez>
以上结果可以实现Notepad窗⼝的最⼤化。其实类似的命令还有很多,⽽且更多的参数意味着更精细地控制。
⼆、创建脚本
任务的⾃动化是以程序⽂件或者可执⾏脚本⽂件为基础的,PowerShell也⽀持将命令列表做成脚本⽂件来执⾏。以下是Hello.ps1脚本⽂件的内容:
复制代码代码如下:
$a = "Hello"
$a
echo $a > a.txt
Hello.ps1脚本⽂件的执⾏情况结果如下:
复制代码代码如下:
PS E:\> D:\Projects\Practise\PowerShell\Hello.ps1
Hello
Directory: E:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 1/30/2013 4:56 PM
你可能发现了,PowerShell脚本⽂件是以.PS1为扩展名的。以上这个脚本⾮常简单:先定义了⼀个变量,然后输出这个变量的结果,再将这个变量的值写⼊⽂件a.txt,最后输出这个⽂件的属性信息。仅从这⼀点看,PowerShell脚本很像Batch⽂件。但是实际上,PowerShell可以做得更多。
PowerShell脚本⽀持⾃定义函数,就像我们在编程语⾔中做得那样。funcDemo.ps1给出了⼀个在PowerShell脚本中编写函数的⽰例:
复制代码代码如下:
#funcDemo.ps1
function SayHello ($name)
{
echo "hello $name"
}
SayHello "Luke"
脚本的运⾏结果是“Hello Luke”。
此外,关于PowerShell脚本内部语句的运⾏顺序,这⾥要做个简单说明:除了函数定义,脚本中的命令或者函数调⽤(其实也相当于执⾏命令)会顺序执⾏;函数中的语句只有在函数被调⽤的时候才会被执
⾏。
三、利⽤.Net类型和COM对象
能够利⽤.Net类型和COM对象是PowerShell的最⼤特点,这让PowerShell能够最⼤限度的利⽤现有资源,并且很容易把.Net 和COM程序员招徕到⾃⼰麾下。
简单类型:
复制代码代码如下:
[int]$a = 10
[String]$b = 10
.Net类型
复制代码代码如下:
$Message = new-object Net.Mail.MailMessage("me@source","you@destination", "Subject", <br> "Here is some email")
COM对象
复制代码代码如下:
$myWord = new-object -comobject Word.Application
创建了.Net或者COM的对象以后,就可以利⽤这些对象的属性和⽅法,来完成更加复杂的操作。
作为本篇结束,⽤⼀句话总结,PowerShell吃得很少,⼲活很多,是Windows管理员⽇常必备的⼯具之⼀。⾛过路过,千万不要错过啊。。。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论