cmd是和powershell都可以做命令⾏交互,批处理和powershell脚本功能也相当。
我不知道你怎么理解cmd,但下⾯是powershell是基于.net的,只要你⾜够了解.net,你可以使⽤她做任何你想做的事情。Windows PowerShell 是专为系统管理员设计的新 Windows 命令⾏ shell。Windows PowerShell 包括交互式提⽰和脚本环境,两者既可以独⽴使⽤也可以组合使⽤。
与接受和返回⽂本的⼤多数 shell 不同,Windows PowerShell 是在 .NET Framework 公共语⾔运⾏时 (CLR) 和 .NET
Framework 的基础上构建的,它接受和返回 .NET Framework 对象。环境中的这⼀根本更改带来了管理和配置 Windows 的全新⼯具和⽅法。
Windows PowerShell 引⼊了 cmdlet(读作“command-let”)的概念,这是内置到 shell 中的⼀个简单的单⼀功能命令⾏⼯具。可以分别使⽤每个 cmdlet,但是组合使⽤这些简单的⼯具执⾏复杂任务时才发挥其作⽤。Windows PowerShell 包括⼀百多个基本的核⼼ cmdlet,您可以编写⾃⼰的 cmdlet 并与其他⽤户共享它们。
与许多 shell ⼀样,Windows PowerShell 为您提供了对计算机上⽂件系统的访问。此外,使⽤ Windows PowerShell 提供程序还可以访问其他数据存储,如注册表和数字签名证书存储,就像访问⽂件系统⼀样容易。
简单的说,Powershell是cmd的超集,换句话说,cmd能做的事情,Powershell都能做,但是Powershell还能额外做许多cmd不能做的活。
主要是系统管理功能、脚本语⾔和在线帮助更强⼤,你确实可以只把它当成cmd来⽤,也可以学和⽤得更深powershell的优点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个例⼦。[数学计算] (39+79-51)*497/28 = ?
⼼算再快,应当也没有敲回车键快吧:
PS> (39+79-51)*497/28
11.25
[⽇期] 距离下⼀个情⼈节还有多少分钟?我知道距离多少天好算,如果变成分钟呢?
$now=Get-Date
$day=[datetime]'2-14'if($now -lt $day ){
$day.Subtract($now).TotalMinutes}else{
$day.AddYears(1).Subtract($now).TotalMinutes}
[容量] 3GB > 3145726KB吗 ?
PS> 3gb -gt 3145726kbTrue
[ID]能产⽣⼀个GUID吗?
PS> [guid]::NewGuid()
Guid----0f283ab4-f402-400c-98ce-359442f11f1a
[⽂件] Windows⽬录下所有可执⾏⽂件exe的⼤⼩是多少?
dir $env:windir -Filter *.exe | measure -Sum Length
[注册表] 注册表路径HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NETFramework 下 ‘EnableBit'的值是多少?
(Get-ItemProperty -Path hklm:SOFTWARE\\Microsoft\\.NETFramework ).EnableBit
[证书] 指纹为[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的证书在证书存储区吗?
ls Cert:\\LocalMachine\\My\\ |
where { $_.Thumbprint -eq '28DE15612AFF1CD69596AB17AF06AE86CB9C003B' }
[服务] 打印机服务有没有启动呢?
Get-Service spooler
[进程] 当前运⾏了多少个IE进程?
(Get-Process iexplore ).count
[报表] 将所有运⾏的进程信息导出为HTML报表?
Get-Process | ConvertTo-Html | Out-File a.html
现在知道了powershell的强⼤了吧,在windows平台powershell还是⽐较好⽤的。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- stra.cn 版权所有 赣ICP备2024042791号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务