前天是小兔子,昨天是小鹿,今天是你。 收藏本站
登陆 / 注册 搜索

阅读:8.4K   回复: 3

PowerShell入门(一):PowerShell能干什么?(转)

[复制链接]
soarcloud 「龙战于野」 2016-7-28 11:04 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

本帖最后由 soarcloud 于 2016-7-28 11:07 编辑

  PowerShell能干什么呢?就像序言中提到的那样,PowerShell首先是个Shell,定义好了一堆命令与操作系统,特别是与文件系统交互,能够启动应用程序,甚至操纵应用程序;第二,PowerShell允许将几个命令组合起来放到文件里执行,实现文件级的重用,也就是说有脚本的性质;第三,PowerShell能够能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、自动化的操作。


🤞🗽🍊🈸🐝‌  一、与文件系统交互、运行应用程序


  就像在Dos中一样,在PowerShell的交互界面上键入"dir"并回车,会显示当前文件夹下的子文件夹和文件信息。

🖕🌡🌰♀🦄‏

PS D:\Projects\Practise\PowerShell> dir
    Directory: D:\Projects\Practise\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      36314 alias.tx
-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
dir 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         16 a.txt                                                                    
你可能发现了,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("[email protected]","[email protected]", "Subject", <br>  "Here is some email")
🖕🦼🦞❓🦮‍   COM对象


$myWord = new-object -comobject Word.Application
  创建了.Net或者COM的对象以后,就可以利用这些对象的属性和方法,来完成更加复杂的操作。🧑‍🎤‌👒🎷😷🤌


  作为本篇结束,用一句话总结,PowerShell吃得很少,干活很多,是Windows管理员日常必备的工具之一。走过路过,千万不要错过啊。。。
上一篇
下一篇
帖子热度 8455 ℃

暮色里的白雪檐 「出类拔萃」 2018-5-5 23:00 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

回帖的永远有28种人
1个说前排围观的,👮‍♂️‌🦺🪗😛👁
1个路过打酱油的,
1个留名的,
1个上来直接骂LZ去死LZSB的,
1个整天抢2楼的,
1个说自己SB的

🦴🗽⚛🐺‌

1个tm就知道呵呵的,
1个进来P都不放按顶走人的,
1个涂鸦的,
1个发广告的,
1个成天装内涵的,
🤞🚂🥄♊🐶‌1个表情帝,
1个没事就撸撸睡觉的,
1个要摸楼下狗头的,
1个总是@ 别人的
1个整天拜膜的,👩‌🩳🧬🙃🙏
1个吹NB的,
1个只会说“哦”的,
1个宣扬春哥的,
1个灌水的,
1个爪机马克的,👳‏🥼🖥🤤🖕
1个蛋疼的,
1个TM的说挽尊的,
1个TM的说亲哦有木有的,
1个说内容太长没看的,
1个废话连篇的,🧑‍⚕️‏🧣🛒🤔✍
1个留邮箱的,
最后就是1个像我这样复制粘贴混经验的#y421:
浅笑歌 「出类拔萃」 2018-5-16 22:10 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

为保住菊花,这个一定得回复!
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表