PowerShell是什么?

所属分类: 脚本专栏 / PowerShell 阅读数: 930
收藏 0 赞 0 分享

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程序。

更多精彩内容其他人还在看

Windows Powershell Switch 循环

这篇文章主要介绍了Windows Powershell Switch 循环以及PowerShell中数组可以与switch语句结合,产生意想不到的效果。
收藏 0 赞 0 分享

Windows Powershell 定义函数

这篇文章主要介绍了Windows Powershell 定义函数,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell实现导入安装证书功能脚本分享

这篇文章主要介绍了Powershell实现导入安装证书功能脚本分享,本文用编程方法实现把pfx证书文件导入到指定的库中,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell改变脚本执行优先权的代码分享

这篇文章主要介绍了Powershell改变脚本执行优先权的代码分享,本文通过控制进程的方式调整程序的执行顺序,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell读取PFX证书并输入密码的脚本分享

这篇文章主要介绍了Powershell读取PFX证书并输入密码的脚本分享,本文实现直接用脚本输入密码,避免了手动输入密码的麻烦,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell访问SQL Server数据库代码实例

这篇文章主要介绍了Powershell访问SQL Server数据库代码实例,本文直接给出代码,使用时只需要替换数据库配置参数即可,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell打印文本文档例子

这篇文章主要介绍了Powershell打印文本文档例子,本文相对简单,默认给出的是打印系统日志文件,使用时要替换成自己想打印的文件,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell创建简洁的HTML报告例子

这篇文章主要介绍了Powershell创建简洁的HTML报告例子,本文先是讲解了实现的步骤,然后给出了实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell在一个会话中只允许执行指定命令的方法

这篇文章主要介绍了Powershell在一个会话中只允许执行指定命令的方法,使用本文的技巧可以达到控制权限的功能,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell中创建自定义对象例子

这篇文章主要介绍了Powershell中创建自定义对象例子,本文内容需要在3.0版本以上有效,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多