«

powershell的作用有哪些

时间:2024-3-8 21:50     作者:韩俊     分类: Linux


今天小编给大家分享一下powershell的作用有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

powershell能干:1、可以与文件系统交互,能够启动应用程序,甚至操纵应用程序;2、允许将几个命令组合起来放到文件里执行,实现文件级的重用,也就是说可以创建脚本;3、能够充分利用.Net类型和COM对象,来简单地与各种系统交互,完成各种复杂的、自动化的操作。

什么是 PowerShell?

PowerShell 是一种跨平台的任务自动化解决方案,由命令行 shell、脚本语言和配置管理框架组成。 PowerShell 在 Windows、Linux 和 macOS 上运行。

命令行 Shell

PowerShell 是新式命令 shell,其中包括其他常用 shell 的最佳功能。 与大多数仅接受并返回文本的 shell 不同,PowerShell 接受并返回 .NET 对象。 shell 包括以下功能:

  • 可靠的命令行历史记录

  • Tab 自动补全和命令预测(请参阅 about_PSReadLine)

  • 支持命令和参数别名

  • 用于链接命令的管道

  • 控制台内帮助系统,类似于 Unix man 页面

PowerShell能干什么呢?

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

一、与文件系统交互、运行应用程序

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

PS D:ProjectsPractisePowerShell> dir
    Directory: D:ProjectsPractisePowerShell

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:Usersv-lukez> notepad
PS C:Usersv-lukez> 

如果想更好地控制应用程序,可以使用start命令,如下:

PS C:Usersv-lukez> start notepad -WindowStyle Maximized
PS C:Usersv-lukez> 

以上结果可以实现Notepad窗口的最大化。其实类似的命令还有很多,而且更多的参数意味着更精细地控制。

二、创建脚本

任务的自动化是以程序文件或者可执行脚本文件为基础的,PowerShell也支持将命令列表做成脚本文件来执行。以下是Hello.ps1脚本文件的内容:

$a = "Hello"
$a
echo $a > a.txt
dir a.txt 

Hello.ps1脚本文件的执行情况结果如下:

PS E:> D:ProjectsPractisePowerShellHello.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("me@source.com","you@destination.com", "Subject", 
 "Here is some email") 

COM对象

$myWord = new-object -comobject Word.Application 

创建了.Net或者COM的对象以后,就可以利用这些对象的属性和方法,来完成更加复杂的操作。

怎么打开运行PowerShell

1、win菜单键+R:

2、弹出运行窗口如下:

3、在输入框输入PowerShell回车或点击确定:

4、输入后会弹出PowerShell命令窗口,恭喜你搞定啦,可以直接在里面输入命令行使用了,参考如下:

标签: linux

热门推荐