博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerShell为什么强大
阅读量:5869 次
发布时间:2019-06-19

本文共 1891 字,大约阅读时间需要 6 分钟。

PowerShell为什么强大


本文索引
[隐藏]

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

今天我根据自己的体验来稍微总结一下为什么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

更多内容请参阅:

转载地址:http://jcxnx.baihongyu.com/

你可能感兴趣的文章
Flask即插视图与tornado比较
查看>>
topcoder srm 715 div1
查看>>
PHP检测参数是否为整数
查看>>
error app/styles/components/iconfont.scss (Line 12: Invalid GBK character "\xE5")
查看>>
&,|,^的用法
查看>>
html复习小结
查看>>
win10专业版激活方法
查看>>
转:彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法
查看>>
[Android] The handler class should be static or leaks might occur原因及解决方法
查看>>
Linux下安装Oracle11G(虚拟机)
查看>>
类(二)——拷贝控制(浅拷贝,深拷贝,浅赋值,深赋值)
查看>>
(转)机器学习经典书籍
查看>>
[Angularjs]国际化
查看>>
EWS 通过SubscribeToPullNotifications订阅Exchange新邮件提醒
查看>>
PHPExcel将Excel数据导入数据库
查看>>
javascript详解1
查看>>
JDBC事务控制管理
查看>>
欧拉角与四元数转换——编程
查看>>
Weekly 11
查看>>
firefox ubuntu 中文包
查看>>