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. MySQL共享表空间扩容

    一.什么是共享表空间和独占表空间 共享表空间以及独占表空间都是针对数据的存储方式而言的. 共享表空间: 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目 ...

  2. 介绍PHP的自动加载

    昨天面试被问到了 PHP 的自动加载机制,因为很多概念模糊啦,没回答好,今天特意来总结一下. include 和 require 是PHP中引入文件的两个基本方法,但是每个脚本的开头,都需要包含(in ...

  3. 12 TCP服务器 进程 线程 非阻塞

    1.单进程服务器 from socket import * serSocket = socket(AF_INET, SOCK_STREAM) # 重复使用绑定的信息 serSocket.setsock ...

  4. Mac系统下安装Homebrew后无法使用brew命令,-bash: brew: command not found

    使用如下命令: sudo vim .bash_profile 然后输入以下代码: export PATH=/usr/local/bin:$PATH 再使用以下命令使配置生效: source .bash ...

  5. spring data elasticsearch多索引查询

    一次查询多个索引数据 es里可以这样写 GET 索引1,索引2,索引3/_search 也可以这样 给索引创建别名,多个索引可以使用一个别名 POST /_aliases { "action ...

  6. 零基础学习Vim编辑器

    **********************************************************************0.这篇教程的简介:Vim是Linux/Unix下的经典编辑 ...

  7. 剑指offer-斐波那契数列07

    题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). n<=39 class Solution: def Fibonacci(self ...

  8. LeetCode 3——无重复字符的最长子串

    1. 题目 2. 解答 2.1. 方法一 我们从前往后遍历字符串,start 代表最长子串的起始位置,一开始设置为零. 如果没有遇到重复字符,则更新子串的长度,向后遍历. 如果遇到重复字符时,则更新字 ...

  9. FetchType.LAZY 时属性加上@JsonIgnore,避免返回时报错:Could not write JSON: failed to lazily initialize a collection of role

    [示例] @OneToMany(fetch=FetchType.LAZY) @JsonIgnore @Fetch(FetchMode.SELECT) @Cascade(value={CascadeTy ...

  10. python的运算符及优先级与python的表达式

    什么是运算符 >>在Python中,我们对一个或者是多个数字或字符串进行操作的符号 运算符有哪些 >>在Python中我们常见的运算符有:+.-.*./.**.<.> ...