PowerShell

PowerShell 在 .NET Framework 基础之上构建,是一种基于任务的命令行 Shell 脚本语言;专门面向系统管理员和高级用户,可快速自动化多个操作系统(Linux、macOS、Unix 和 Windows)和这些操作系统上运行的应用程序相关进程的管理。

PowerShell 是开放源代码

PowerShell 基本源代码目前在 GitHub 中提供,且对社区贡献开放。 请参阅 GitHub 上的 PowerShell 源

可以从获取 PowerShell 中的所需位数入手。 或者快速查看入门

PowerShell 设计目标

PowerShell 旨在消除长期存在的问题和添加新功能,从而改进命令行和脚本环境。

可发现性

PowerShell 简化了它的功能发现过程。 例如,若要查找用于查看和更改 Windows 服务的 cmdlet 列表,请键入:

Get-Command *-Service

发现完成任务的 cmdlet 后,可以运行 Get-Help cmdlet 来详细了解此 cmdlet。 例如,若要显示 Get-Service cmdlet 的帮助信息,请键入:

Get-Help Get-Service

大多数 cmdlet 会发出对象,这些对象可获得操作,然后再呈现为显示文本。 若要全面了解此 cmdlet 的输出,请将它的输出通过管道传递给 Get-Member cmdlet。 例如,下面的命令显示 Get-Service cmdlet 的输出对象成员的相关信息。

Get-Service | Get-Member

一致性

管理系统是一项复杂的任务,具有一致的接口的工具有助于控制固有的复杂性。 遗憾的是,命令行工具和可脚本化 COM 对象的一致性均未知。

PowerShell 一致性是它的主要资产之一。 例如,如果了解如何使用 Sort-Object cmdlet,可以利用这一知识对任何 cmdlet 的输出进行排序。 不需要了解每个 cmdlet 的不同排序例程。

此外,cmdlet 开发人员无需为其 cmdlet 设计排序功能。 PowerShell 包含提供基本功能的框架,并强制在接口的多个方面保持一致。该框架消除了通常留给开发人员的某些选择,但它也因而使得开发可靠的和易于使用的 cmdlet 变得简单得多。

交互式脚本编写环境

PowerShell 是组合的交互式脚本编写环境,便于用户访问命令行工具和 COM 对象,并使用 .NET Framework 类库 (FCL) 的强大功能。

此环境改进了 Windows 命令提示,它将提供具有多个命令行工具的交互式环境。 它还改进了 Windows 脚本宿主 (WSH) 脚本,让你可以使用多个命令行工具和 COM 自动化对象,但不提供交互式环境。

通过结合使用以上所有功能,PowerShell 可以扩展交互用户和脚本编写者的能力,并提高系统可管理性。

面向对象

尽管可以在文本框中键入命令与 PowerShell 交互,PowerShell 仍以对象(而不是文本)为基础。 命令的输出是一个对象。 可以将输出对象发送给另一个命令以作为其输入。 因此,PowerShell 为使用过其他命令行管理程序的用户提供熟悉界面,同时引入新的强大命令行范例。 它让你能够发送对象而不是文本,从而扩展了在命令之间发送数据的概念。

轻松转换到脚本

借助 PowerShell,可以从以交互方式键入命令轻松转换为创建和运行脚本。 可以在 PowerShell 命令提示符处键入命令,从而发现执行某项任务的命令。 然后,你可以在将这些命令保存到副本或历史记录中,然后将其复制到文件以用作脚本。

详细内容

https://docs.microsoft.com/zh-cn/powershell/scripting/powershell-scripting?view=powershell-6

PowerShell官方文档的更多相关文章

  1. 【AutoMapper官方文档】DTO与Domin Model相互转换(上)

    写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...

  2. 2DToolkit官方文档中文版打地鼠教程(三):Sprite Collections 精灵集合

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  3. 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  4. 2DToolkit官方文档中文版打地鼠教程(一):初始设置

    这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...

  5. 【AutoMapper官方文档】DTO与Domin Model相互转换(中)

    写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...

  6. 【AutoMapper官方文档】DTO与Domin Model相互转换(下)

    写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [Au ...

  7. Ionic2系列——Ionic 2 Guide 官方文档中文版

    最近一直没更新博客,业余时间都在翻译Ionic2的文档.之前本来是想写一个入门,后来觉得干脆把官方文档翻译一下算了,因为官方文档就是最好的入门教程.后来越翻译越觉得这个事情确实比较费精力,不知道什么时 ...

  8. Kotlin开发语言文档(官方文档)-- 目录

    开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...

  9. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

随机推荐

  1. HDU暑假多校第三场H.Monster Hunter

    一.题意 给定一个树状地图,每个树节点上有一只怪物,打死一只怪物的过程中将会消耗A点HP,打死之后将会获得B点HP.因为树状结构,所以每只怪物必须先打死父节点的怪兽之后在打死子节点的怪物.现在,给定每 ...

  2. JS控制文本框输入的内容

    总而言之:   先在‘<input>’ 里输入      onkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g, ...

  3. thrift 调取 python php go 客户端代码

    golang package main import ( "fmt" "git.apache.org/thrift.git/lib/go/thrift" &qu ...

  4. Windows Server Backup 裸机恢复

    1.打开“Windows Server Backup”选择本地备份,并在操作栏选择“一次性备份”:(在实际生产环境中可以根据自己的需求,选择一次性备份还是选择备份计划.) 2.打开“一次性备份向导”, ...

  5. python简单的数据清洗,数据筛选方法归类

    创建数组有两种方式,1.直接赋值 2.随机变量生成随机生成包括4种:np.arange(20),np.linspace(0,10,5),np.logspace(0,2,5),np.random.ran ...

  6. 【vim环境配置】解决ubuntu上 由YouCompleteMe插件配置不当引起的 自动补全失效的问题

    背景: 由于不可抗拒的原因,学习环境由之前centos的一台机器上,变成了ubuntu的一台机器上.因此,需要在新的ubuntu的机器上再配置一次vim环境.算起来这已经是第三次配置vim环境了(ma ...

  7. 云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时

    在昨天的博文(云计算之路-阿里云上:读取缓存时的“黑色0.1秒”)中我们犯了一个很低级的错误——把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从 ...

  8. C变量之间的转换

    int main(){ //定义了三个变量分别是abc ab的值分别是5跟8 c没有赋值  把b的值给c 把a的值给b 把c的值给a 形成了一个ab值得转换: int a=5; int b=8; in ...

  9. HDFS伪分布式环境搭建

    (一).HDFS shell操作 以上已经介绍了如何搭建伪分布式的Hadoop,既然环境已经搭建起来了,那要怎么去操作呢?这就是本节将要介绍的内容: HDFS自带有一些shell命令,通过这些命令我们 ...

  10. ardupilot_gazebo仿真(一)

    ardupilot_gazebo仿真 标签(空格分隔): 未分类 ardupilot_gazebo仿真 官网网址 代码更新地址 Ardupilot Gazebo Plugin & Models ...