PowerShell为什么强大
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个例子。
- [数学计算] (39+79-51)*497/28 = ?
心算再快,应当也没有敲回车键快吧:12PS> (39+79-51)*497/28
1189.25
- [日期] 距离下一个情人节还有多少分钟?
我知道距离多少天好算,如果变成分钟呢?12345678$now
=
Get-Date
$day
=
[datetime]
'2-14'
if
(
$now
-lt
$day
){
$day
.Subtract(
$now
).TotalMinutes
}
else
{
$day
.AddYears(1).Subtract(
$now
).TotalMinutes
}
- [容量] 3GB > 3145726KB吗 ?
12
PS> 3gb
-gt
3145726kb
True
- [ID]能产生一个GUID吗?
12345
PS>
[guid]
::NewGuid()
Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a
- [文件] Windows目录下所有可执行文件exe的大小是多少?
1
dir
$env:windir
-Filter
*.exe | measure
-Sum
Length
- [注册表] 注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework 下 ‘Enable64Bit’的值是多少?
1
(
Get-ItemProperty
-Path
hklm:SOFTWARE\Microsoft\.NETFramework ).Enable64Bit
- [证书] 指纹为[28DE15612AFF1CD69596AB17AF06AE86CB9C003B]的证书在证书存储区吗?
12
ls Cert:\LocalMachine\My\ |
where {
$_
.Thumbprint
-eq
'28DE15612AFF1CD69596AB17AF06AE86CB9C003B'
}
- [服务] 打印机服务有没有启动呢?
1
Get-Service
spooler
- [进程] 当前运行了多少个IE进程?
1
(
Get-Process
iexplore ).count
- [报表] 将所有运行的进程信息导出为HTML报表?
1
Get-Process
|
ConvertTo-Html
|
Out-File
a.html
更多内容请参阅:PowerShell在线教程
PowerShell为什么强大的更多相关文章
- <译>通过PowerShell工具跨多台服务器执行SQL脚本
有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心呢?!Powershell一个强大的工具,可以很方便帮到我们处理日常的数据库维护工作 .简单的几步搞 ...
- 使用PowerShell 监控运行时间和连接情况
概念 Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境.你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆. powershell需要.N ...
- powershell通过wps excel导出csv
powershell比较强大,比较好用,比较方便. $et=New-Object -ComObject et.application #$et.Visible=$true $et.DisplayAle ...
- 玩转PowerShell第一节——【后台任务处理】-技术&分享
概述 相信大家对后台任务处理不陌生,比如.Net的后台线程处理,Java的线程处理等等. 而当我们用PowerShell这个强大的工具时怎么样开启后台任务呢,以及怎样处理这些任务呢,本篇将会告诉你Po ...
- Powershell的远程管理
powershell有强大的远程管理功能,但是现在遇到个问题,我们之前的客户端操作系统都是默认安装的,没做默认设置,请问如何通过gpo将所有和远程有关的设置都搞定啊?到底要设置哪些个选项? 我的环 ...
- [转]通过PowerShell工具跨多台服务器执行SQL脚本
转至:http://www.cnblogs.com/SameZhao/p/4743692.html 有时候,当我们并没有合适的第三方工具(大部分需要付费)去管理多台数据库服务器,那么如何做最省力.省心 ...
- Windows PowerShell是啥?看完本文你就懂它了
这篇文章主要介绍了Windows PowerShell是啥?Windows PowerShell是什么?Windows PowerShell有哪些特性?Windows PowerShell有什么用?看 ...
- 关于Powershell对抗安全软件(转)
Windows PowerShell的强大,并且内置,在渗透过程中,也让渗透变得更加有趣.而安全软件的对抗查杀也逐渐开始针对powershell的一切行为.在https://technet.micro ...
- Powershell快速入门
Powershell快速入门 来源: https://blog.csdn.net/u011054333/article/details/72567590 https://blog.csdn.net/u ...
随机推荐
- CH Round #53 -GCD Path
描述 给定一张N个点的有向图,点i到点j有一条长度为 i/(gcd(i,j))的边.有Q个询问,每个询问包含两个数x和y,求x到y的最短距离. 输入格式 第一行包含两个用空格隔开的整数,N和Q. 接下 ...
- BZOJ1108: [POI2007]天然气管道Gaz
1108: [POI2007]天然气管道Gaz Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 410 Solved: 211[Submit][Sta ...
- C#实现目录复制
摘自:http://www.cnblogs.com/zxjay/archive/2008/10/29/1322517.html FCL提供了文件移动.文件复制.目录移动的方法,但没提供目录复制的 ...
- Python获取并输出当前日期时间
取得时间相关的信息的话,要用到python time模块,python time模块里面有很多非常好用的功能,你可以去官方文档了解下,要取的当前时间的话,要取得当前时间的时间戳,时间戳好像是1970年 ...
- 操作系统——IO缓存技术
一.为什么引入缓存技术 为了解决cpu速度和外部设备速度不匹配的问题. 降低了io对cpu的中断的次数.每进行一次IO设备的时间都非常长,所以把数据先放入缓冲区,再进行IO操作. 二.缓冲技术的实现 ...
- C#基础:集合
C#中的数组实现为 System.Array 类的实例,它们只是集合类(Collection Classes)中的一种类型.集合类一般用于处理对象列表,其功能比简单数组要多,功能大多是通过实现 ...
- Asp.net原理(第一篇)
Asp.net (第一篇) 当用户在浏览器输入一个URL地址后,浏览器会发送一个请求到服务器.这时候在服务器上第一个负责处理请求的是IIS.然后IIS再根据请求的URL扩展名将请求分发给不同的ISAP ...
- 如何在pl/sql developer 7运行到oracle存储过程设置断点的地方
如何高效调试oracle存储过程,尤其是父子网状调用的存储过程 1,在需要设置断点的oracle存储过程处设置断点 如何设置断点:直接在某行oracle存储过程处单击行首,会在行首显示 ...
- Linux下oracle 11g安装
服务器环境要求 硬盘 20G以上 ,必须高于1G的物理内存,交换空间一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小 在Root用户下执行以下步骤: 修改用户的SHELL ...
- 本地开发时同时启动多个tomcat服务器
1.环境变量中不要设置CATALINA_HOME: 2.分别修改安装目录下的conf子目录中的server.xml文件: a.修改http访问端口(默认为 8080端口),将8080修改为tomcat ...