欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PowerShell是什么?

程序员文章站 2022-05-08 09:49:36
windows powershell 是专为系统管理员设计的新 windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。 解...

windows powershell 是专为系统管理员设计的新 windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。

解读:

1、什么是交互式提示?

答:交互式提示就像打开一个cmd窗口,在里面执行一个ping命令一样,它会动态的输入结果。也可以像执行ftp命令一样,有一个上下文环境(context),可以交互。

2、什么是脚本环境?

答:就像写vbscript脚本一样,以文件形式把powershell的程序语句写下来,然后利用powershell的脚本环境来执行整个脚本文件。顺便说一句,批处理也可以理解为一个脚本环境。powershell脚本文件的扩展名为.ps1,语言支持用于循环、条件、流控制和变量赋值的语言结构。

与接受和返回文本的大多数外壳程序不同,windows powershell 是在 .net 公共语言运行时 (clr) 和 .net framework 的基础上构建的,它接受和返回 .net 对象。环境中的这一根本更改带来了管理和配置 windows 的全新工具和方法。

解读:

这个很有意思,一个对象化的脚本环境不奇怪,一个对象化的交互式环境确实是一个全新的理念。

windows powershell 引入了 cmdlet(读作“command-let”)的概念,这是内置到外壳程序中的一个简单的单一功能命令行工具。可以分别使用每个 cmdlet,但是组合使用这些简单的工具执行复杂任务时才发挥其作用。windows powershell 包括一百多个基本的核心 cmdlet,您可以编写自己的 cmdlet 并与其他用户共享它们。

解读:

1、这应该像command自带dir、cd、copy、del这些内置命令差不多,只不过它是可以模块化添加、删除的。powershell自带了大量cmdlet,也可以自己编写、分发。
2、可以通过其名称格式识别 cmdlet -- 由短划线 (-) 分隔的动词和名词,如 get-help、get-process 和 start-service。有start-service就有stop-service、restart-service,这里windows系统不区分命令大小的一惯作风被得以体现。
3、每个cmdlet的作用都很简单,如“get”cmdlet 仅检索数据,“set”cmdlet 仅建立或更改数据,“format”cmdlet 仅设置数据格式,“out”cmdlet 仅将输出定向到指定的目标,所以应注意怎么组合使用。
4、每个 cmdlet 都具有一个帮助文件,可以通过键入以下内容访问它:get-help <cmdlet 名称> -detailed,如果只要查看简单的信息,就不要detailed这个参数,如果要查看更全面的技术信息,则需要把detailed更改为full。
也可以直接使用help <cmdlet 名称>,或者直接在使用 <cmdlet 名称> -? 。
get-help * 可以显示所有powershell命令。get-help get-*可以显示get开头的命令。
试着完整的阅读get-help start-service -full,会对powershell有一个震撼的认识。
5、很多cmdlet有内置的别名,如get-service的别名就是gsv;
6、get-command,可以列出所有的cmdlet;

windows powershell 为您提供了对计算机上文件系统的访问。此外,使用 windows powershell 提供程序,还可以访问其他数据存储区,如注册表和数字签名证书存储区,与访问文件系统一样容易。

解读:

1、ok,它的强项在于文件系统、注册表、数字证书等?后面随着学习的深入,也会接触到它更多、更强大的功能。

可以在 windows powershell 中运行 windows 命令行程序,并可以在外壳程序中启动具有图形用户界面的 windows 程序(如记事本和计算器)。还可以捕获程序生成的文本,并在外壳程序中使用该文本(与在 cmd.exe 中很类似)。

解读:
1、在cmd.exe里面可以执行的外部命令,如net.exe、xcopy.exe、sc.exe、reg.exe等,均可以在powershell中正常使用;
2、cmd.exe本身也可以在powershell中使用;
3、cmd.exe自带的内置命令也可以使用,如dir c:;
4、运行services.msc一样可以打开服务面板;
5、也可以打开像notepad.exe这样的图形界面的windwos程序。