登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Platforms
  3. WINDOWS
  4. OAM
  5. 正文

PowerShell为什么强大

2015-12-12

微软是一个很”低调”的公司,取名为微软,感觉有“微微软下去”的意思,这是个玩笑了。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 = ?
心算再快,应当也没有敲回车键快吧:

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

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

$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吗  ?

PS> 3gb -gt 3145726kb
True

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

PS> [guid]::NewGuid()
 
Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a

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

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

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

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

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

ls Cert:\LocalMachine\My\ |
 where { $_.Thumbprint -eq '28DE15612AFF1CD69596AB17AF06AE86CB9C003B' }

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

Get-Service spooler

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

(Get-Process iexplore ).count

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

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

更多内容请参阅:PowerShell在线教程

本文链接: http://www.pstips.net/why-is-powershell-powerful.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

 

标签: 暂无
最后更新:2016-01-24

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号