powershell和shell的区别,Powershell是什么
在Win10系统下,很多朋友都接触过Windows Powershell,测试发现Windows Powershell也有命令提示符的功能。那么什么是Windows Powershell呢?CMD命令提示符和CMD命令提示符有什么区别?下面小编搜集了相关知识,大家可以学习一下。
简单来说,Windows Powershell可以实现命令提示符的所有功能,但比命令提示符强大得多。
在Windows 中的Windows PowerShell中进行了以下更改:
1.新增cmdlet:包括100多个新增cmdlet,包括Get-Hotfix、Send-MailMessage、Get-ComputerRestorePoint、New- WebServiceProxy、Debug-Process、Add-Computer、Rename-Computer、Reset- ComputerMachinePassword和Get-Rand。
2.远程管理:您可以使用一个命令在一台或数百台计算机上运行命令。您可以与单台计算机建立交互式会话。您还可以建立一个可以从多台计算机接收远程命令的会话。
3.Windows PowerShell集成脚本环境(ISE):一个图形用户界面,方便在同一个窗口中运行命令和编写、编辑、运行、测试、调试脚本。
4.后台作业:使用Windows PowerShell后台作业,您可以“在后台”异步运行多个命令,因此您可以继续在会话中工作。您可以在本地或远程计算机上运行后台作业,并在本地或远程存储结果。
5.调试程序:可以设置和删除断点,分步执行代码,检查变量值,显示调用栈跟踪。
6.模块:Windows PowerShell模块允许将Windows PowerShell脚本和函数组织成独立的单元。您可以将cmdlet、提供程序、脚本、函数和其他文件打包到可以分发给其他用户的模块中。用户安装和使用模块比Windows PowerShell管理单元更方便。模块可以包括任何类型的文件,包括音频文件、图像、帮助文件和图标。该模块在单独的会话中运行,以避免名称冲突。
7.事务:Windows PowerShell现在支持事务,因此允许通过逻辑单元管理一组命令。您可以提交事务或完全撤消事务,这样事务就不会更改受影响的数据。
8.事件:Windows PowerShell包括一个新的事件基础结构,允许您创建事件、订阅系统和应用程序事件,然后同步和异步地侦听、转发和操作事件。
9高级函数:高级函数的行为类似于cmdlet,但它们是用Windows PowerShell脚本语言而不是C#编写的。
10.脚本的国际化:脚本和函数可以用多种语言向用户显示消息和帮助文本。
11.联机帮助:除了命令行中的帮助之外,Get-Help cmdlet还有一个新的Online参数,可用于打开Microsoft TechNet上每个帮助主题的完整和更新版本。
举例介绍
如果你第一次听说PowerShell,你想看看下面的10个例子。
【数学计算】(39 79-51)*497/28=?
无论你做心算的速度有多快,你都不应该按回车键。来吧:
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
}
|
【容量】3GB 3145726KB?
1 2
|
PS > 3gb -gt 3145726kb
True
|
[ID]可以生成GUID吗?
1 2 3 4 5
|
PS > [guid]::NewGuid()
Guid
----
0f283ab4-f402-400c-98ce-359442f11f1a
|
【文件】Windows目录下所有可执行文件exe的大小是多少?
1
|
dir $env :windir -Filter *.exe measure -Sum Length
|
【注册表】注册表路径HKEY _本地_ machinesoftwaremicrosoft.net框架下的‘enable 64 bit’的值是多少?
1
|
( Get-ItemProperty -Path hklm:SOFTWAREMicrosoft.NETFramework ).Enable64Bit
|
【证书】指纹为[28de 15612 aff 1 CD 69596 ab 17 af 06 AE 86 CB 9 c 003 b]的证书是否在证书存放区?
1 2
|
ls Cert:LocalMachineMy
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在windows平台上相对来说还是比较好用的。
总结:
命令提示符窗口(cmd.exe)是Windows的标准组件。它可以实现用户与操作系统的直接通信,负责解释和支持用户输入的所有命令。
PowerShell是跨平台的,cmd是特定于Windows的。
PowerShell有一个面向对象的管道。
PowerShell可以调用。网。