微软是一个很”低调”的公司,取名为微软,感受有“微微软下去”的意思,这是个玩笑了。windows 操做系统 和office办公软件,如此之优秀,微软也没敢命名为PowerOS 和 PowerOffice,可是在Monad(PowerShell的前身)发布后的第二年(2006年),微软就直接就发布了Windows PowerShell 1.0,而且”大言不惭“地命名为PowerShell,这也有点太不淡定了。html
今天我根据本身的体验来稍微总结一下为何PowerShell如此之强大。shell
诸如存储计算中GB,MB,KB单位等;数组声明中的1..n和下标为-1的处理;还有所见即所得,通俗易懂的动词+名词结构Cmdlet。数组
与面向过程相比,面向对象更方便更容易描述现实世界,也算遇上了时髦。ide
正所谓大树下面好乘凉,PowerShell绑上.NET这个大款了,借助.NET Framework平台强大的类库,几乎让一切都成为可能。ui
彻底兼容windows 平台上其它调用,如可执行文件(exe),批处理bat和vb script等。spa
微软有个优势,与应用相比,它更喜欢作平台。PowerShell早已变成一个平台,在PowerShell 刚发布的第二年,微软的System Center Operations Manager 和 SharePoint就提供了针对该平台的组件,后来的活动目录,Hyper-V,Windows Azure,Office 365就更不用说了。除了微软,亚马逊的云平台管理,Dell的out-of-hand 管理,也都提供了基于PowerShell的管理组件。PowerShell 俨然变成了一个标准,变成了一个规范。操作系统
若是您第一次据说过PowerShell,想稍微观望下,且看下面的10个例子。.net
1
2
|
PS> (39+79-51)*497/28
1189.25
|
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
}
|
1
2
|
PS> 3gb
-gt
3145726kb
True
|
1
2
3
4
5
|
PS>
[guid]
::NewGuid()
Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a
|
1
|
dir
$env:windir
-Filter
*.exe | measure
-Sum
Length
|
1
|
(
Get-ItemProperty
-Path
hklm:SOFTWARE\Microsoft\.NETFramework ).Enable64Bit
|
1
2
|
ls Cert:\LocalMachine\My\ |
where {
$_
.Thumbprint
-eq
'28DE15612AFF1CD69596AB17AF06AE86CB9C003B'
}
|
1
|
Get-Service
spooler
|
1
|
(
Get-Process
iexplore ).count
|
1
|
Get-Process
|
ConvertTo-Html
|
Out-File
a.html
|
更多内容请参阅:PowerShell在线教程code