搜索
首页常见问题powershell干嘛用的

powershell干嘛用的

Feb 24, 2023 pm 04:54 PM
powershell

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

powershell干嘛用的

本教程操作环境:windows10系统、Dell G3电脑。

什么是 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:\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("me@source.com","you@destination.com", "Subject", 
  "Here is some email")

   COM对象

$myWord = new-object -comobject Word.Application

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

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

怎么打开运行PowerShell

1、win菜单键+R:

1.png

2、弹出运行窗口如下:

2.png

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

3.png

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

4.png

更多相关知识,请访问常见问题栏目!

以上是powershell干嘛用的的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具