PowerShell为什么强大

windows 操作系统 和office办公软件,如此之优秀,微软也没敢命名为PowerOS 和 PowerOffice,但是在Monad(PowerShell的前身)发布后的第二年(2006年),微软就直接就发布了Windows PowerShell 1.0,并且”大言不惭“地命名为PowerShell,这也有点太不淡定了。

今天我根据自己的体验来稍微总结一下为什么PowerShell如此之强大。

破天荒的方便

诸如存储计算中GB,MB,KB单位等;数组声明中的1..n和下标为-1的处理;还有所见即所得,通俗易懂的动词+名词结构Cmdlet。

面向对象

与面向过程相比,面向对象更方便更容易描述现实世界,也算赶上了时髦。

绑上.NET这棵大树

正所谓大树下面好乘凉,PowerShell绑上.NET这个大款了,借助.NET Framework平台强大的类库,几乎让一切都成为可能。

强大的兼容性

完全兼容windows 平台上其它调用,如可执行文件(exe),批处理bat和vb script等。

基于平台的可扩展性

微软有个优点,与应用相比,它更喜欢做平台。PowerShell早已变成一个平台,在PowerShell 刚发布的第二年,微软的System Center Operations Manager 和 SharePoint就提供了针对该平台的组件,后来的活动目录,Hyper-V,Windows Azure,Office 365就更不用说了。除了微软,亚马逊的云平台管理,Dell的out-of-hand 管理,也都提供了基于PowerShell的管理组件。PowerShell 俨然变成了一个标准,变成了一个规范。

举例介绍

如果您第一次听说过PowerShell,想稍微观望下,且看下面的10个例子。

    1. [数学计算]  (39+79-51)*497/28 = ?
      心算再快,应当也没有敲回车键快吧:


      1

      2

      PS> (39+79-51)*497/28

      1189.25

    2. [日期] 距离下一个情人节还有多少分钟?
      我知道距离多少天好算,如果变成分钟呢?

      1

      2

      3

      4

      5

      6

      7

      8

      $now=Get-Date

      $day=[datetime]‘2-14‘

      if($now -lt $day ){

       $day.Subtract($now).TotalMinutes

      }

      else{

       $day.AddYears(1).Subtract($now).TotalMinutes

      }

    3. [容量]  3GB > 3145726KB吗  ?

      1

      2

      PS> 3gb -gt 3145726kb

      True

    4. [ID]能产生一个GUID吗?

      1

      2

      3

      4

      5

      PS> [guid]::NewGuid()

      Guid

      ----

      0f283ab4-f402-400c-98ce-359442f11f1a

    5. [文件] Windows目录下所有可执行文件exe的大小是多少?

      1

      dir $env:windir -Filter *.exe | measure -Sum Length

    6. [注册表]  注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 下  ‘Enable64Bit’的值是多少?

      1

      (Get-ItemProperty -Path hklm:SOFTWARE\Microsoft\.NETFramework ).Enable64Bit

    7. [证书]  指纹为[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的证书在证书存储区吗?

      1

      2

      ls Cert:\LocalMachine\My\ |

       where { $_.Thumbprint -eq ‘28DE15612AFF1CD69596AB17AF06AE86CB9C003B‘ }

    8. [服务]  打印机服务有没有启动呢?

      1

      Get-Service spooler

    9. [进程]  当前运行了多少个IE进程?

      1

      (Get-Process iexplore ).count

    10. [报表]  将所有运行的进程信息导出为HTML报表?

      1

      Get-Process ConvertTo-Html Out-File a.html

时间: 2024-08-27 18:35:07

PowerShell为什么强大的相关文章

<译>通过PowerShell工具跨多台服务器执行SQL脚本

有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心呢?!Powershell一个强大的工具,可以很方便帮到我们处理日常的数据库维护工作 .简单的几步搞定,下面介绍一个简单例子便于大家理解: 1,创建一个文件夹,如 D:\ExecScriptOnMultiServer 2,创建一个文本文件ServerList.txt,将所有需要管理的数据库实例名写到里面,格式如下:     SQLInstanceName1     SQLInstanceName2

玩转PowerShell第一节——【后台任务处理】-技术&分享

概述 相信大家对后台任务处理不陌生,比如.Net的后台线程处理,Java的线程处理等等. 而当我们用PowerShell这个强大的工具时怎么样开启后台任务呢,以及怎样处理这些任务呢,本篇将会告诉你PowerShell后台任务处理. 目录 1.什么时候会用到后台任务 2.后台任务主要用在哪些场景 3.PowerShell里面怎么开启后台任务 Start-Job Invoke-Command -AsJob 4.处理Job Wait-Job Remove-Job 5.Start-Job传参 6.引用&

Azure运维系列 3:安装和使用Azure PowerShell管理云

前面讲到了很多的管理方式,包括Azure中国最近更新的预览版管理门户和Azure云助理,都是非常不错的管理Azure的方式,今天我们再来介绍一种更加高效的管理方式Azure PowerShell.熟悉命令行的朋友都知道,Linux之所以那么好用是因为其强大的命令行工具,可以简单直接的管理我们的服务器.应用等.然而在很早之前微软也推出了自己的命令行渠道,没错就是我们大名鼎鼎的PowerShell. 为什么说PowerShell那么强大呢?因为从Windows 8之后的产品.2007之后的服务端系统

Windows PowerShell是啥?看完本文你就懂它了

这篇文章主要介绍了Windows PowerShell是啥?Windows PowerShell是什么?Windows PowerShell有哪些特性?Windows PowerShell有什么用?看完本文你就懂它了,需要的朋友可以参考下 一直很羡慕Linux的命令提示符(当然他们叫Shell).正则表达式,管道,各种神奇的命令,组合起来就能高效完成很多复杂的任务.效率实在是高.流了n年的哈喇子以后,终于有幸用上了Win7,邂逅了cmd的升级版:Windows PowerShell.从此暗爽无比

Powershell简介及其编程访问

Powershell是下一代的命令行外壳程序,较之于它的前身(cmd.exe),它的功能更加强大,也更加易用.最根本的区别在于它是基于对象的操作(基于.NET Framework),而不是基于字符串的操作. 这个工具可以单独使用,完全可以取代cmd.exe.例如如下 但它的功能远不止于此,例如我们可以很容易地获取所有的进程名称 再来看一个,下面这个例子是获取当前正在运行的服务列表.(可以用条件很方便地筛选) 除此之外,Powershell还支持定制,例如微软很多产品都提供了专门的Powershe

使用PowerShell 监控运行时间和连接情况

概念 Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境.你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆. powershell需要.NET环境的支持,同时支持.NET对象.微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象,面向对象的便捷可想而知了.其可读性,易用性都非常的完美. 在运维windows 服务器的时候,其作用是非常大的.简洁高效等等.这里我简单用一个我应用的地方来展示一下. 背景

不一样的命令行 – Windows PowerShell简介 (转载)

转载自http://www.cnblogs.com/grapeot/archive/2010/02/22/1670822.html,谢谢博主. 引子 一直很羡慕Linux的命令提示符(当然他们叫Shell).正则表达式,管道,各种神奇的命令,组合起来就能高效完成很多复杂的任务.效率实在是高.流了n年的哈喇子以后,终于有幸用上了Win7,邂逅了cmd的升级版:Windows PowerShell.从此暗爽无比,原来Windows下也有这样的利器呀~看看下面的Windows脚本,不到15行有效代码.

Powershell快速入门

Powershell快速入门 来源: https://blog.csdn.net/u011054333/article/details/72567590 https://blog.csdn.net/u011054333/article/details/72568190 https://blog.csdn.net/u011054333/article/details/72798046 一说起 Shell 编程,我们大家想到的应该都是Linux 下的 Shell 编程.其实 Windows 下也可以

SQL Server代理(2/12):作业步骤和子系统

SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. SQL Server代理作业有一系列的一个或多个作业步骤组成.一个作业步骤会分配给特定的作业子系统,用来标识将要进行的作业步骤工作种类.每个作业步骤在各自安全上下文运行,尽管每个作业有可以决定谁可以修改作业的拥有者.这篇文章会聚焦组成SQL Server代理作业的作业步骤和子系统. 作业的快速回顾 认为SQL Server代理作业的最好方式