首页
手机版
热门搜索:
当前位置:电脑软件系统工具系统其他Windows PowerShell

Windows PowerShell 最新版本32/64位 v7.0.3

  • 大小:77MB
  • 语言:简体中文
  • 类别:系统其他
  • 类型:免费软件
  • 授权:国产软件
  • 时间:2020/07/17
  • 官网:https://www.3h3.com
  • 环境:Windows7, Windows10, WindowsAll

相关软件

PowerShell是一款命令行脚本工具,让用户可以利用.net强大的功能,在软件中用户可以输入命令行和一些脚本,软件可以和用户的一些现有工具进行配合使用,达到更好的使用效果。

软件介绍

PowerShell软件图片

PowerShell是一款命令行外壳程序和脚本环境,可以帮助用户在Windows中使用命令提示符和创建脚本,整个软件其实是一个自动化的框架,由一个命令行shell和内置在.net框架上的编程语言组成。在软件中用户可以轻松的查找用于查看和更改Windows 服务的cmdlet 列表,由于具有统一接口的工具,所以无论是命令行工具还是可编写脚本的 COM 对象,都可以轻松的控制其复杂性。

软件特色

PowerShell软件图片2

您可轻易发现 Windows Powershell 的功能。例如,若要查找用于查看和更改Windows 服务的cmdlet 列表,执行:开始->运行->cmd,在命令行下输入 PowerShell 进入 windows PowerShell,再输入如下命令:

get-command *-service

在发现可完成任务的 cmdlet 之后,可以使用 Get-Help cmdlet 了解有关该 cmdlet 的详细信息。例如,若要显示有关 Get-Service cmdlet 的帮助,请键入:

get-help get-service

若要充分理解该 cmdlet 的输出,则可通过管道将其输出传递给 Get-Member cmdlet。例如,以下命令将通过 Get-Service cmdlet 显示有关该对象输出的成员的信息。

get-service | get-member

一致性

管理系统可能是一项复杂的任务,而具有统一接口的工具将有助于控制其固有的复杂性。然而,无论是命令行工具还是可编写脚本的 COM 对象,在一致性方面都乏善可陈。

Windows PowerShell 的一致性是其主要优点中的一项。例如,如果您学会了如何使用 Sort-Object cmdlet,则可利用这一知识对任何 cmdlet 的输出进行排序。而无需了解每个 cmdlet 的不同的排序例程。

此外,cmdlet 开发人员也不必为其 cmdlet 设计排序功能。Windows PowerShell 为他们提供了框架,而该框架可提供基本的功能,并强制他们在接口的许多方面保持一致。该框架虽然消除了通常会留给开发人员的某些选项,但作为回报,开发强健、易于使用的 cmdlet 的工作将更加简单。

交互式脚本环境

Windows PowerShell 将交互式环境和脚本环境组合在一起,从而允许您访问命令行工具和 COM 对象,同时还可利用 .net framework 类库 (FCL) 的强大功能。

PowerShell软件图片3

此环境对 Windows命令提示符进行了改进,后者提供了带有多种命令行工具的交互式环境。此外,还对 Windows Script Host (WSH)脚本进行了改进,后者允许您使用多种命令行工具和 COM 自动对象,但未提供交互式环境。

通过将对所有这些功能的访问组合在一起,Windows PowerShell 扩展了交互用户和脚本编写者的能力,从而更易于进行系统管理。

面向对象

尽管您可以通过以文本方式键入命令与 Windows PowerShell 进行交互,但 Windows PowerShell 是基于对象的,而不是基于文本的。命令的输出即为对象。可以将输出对象发送给另一条命令以作为其输入。因此,Windows PowerShell 为未曾使用过其他外壳程序的人员提供了熟悉的界面,同时引入了新的、功能强大的命令行范例。通过允许发送对象(而不是文本),它扩展了在命令之间发送数据的概念。

易于过渡到脚本

使用 Windows PowerShell,您可以很方便地从以交互方式键入命令过渡到创建和运行脚本。您可以在 Windows PowerShell命令提示符下键入命令以找到可执行任务的命令。随后,可将这些命令保存到脚本或历史记录中,然后将其复制到文件中以用作脚本。

识别你即将使用的Provider 通过识别PowerShell里安装的Provider,你就可以了解默认安装下PowerShell提供了那些能力。 Provider可以使用一种简单的访问方式,暴露位于不同储存位置的数据。就像是浏览不同磁盘上的目录结构一样简单。 Provider把不同的信息存放位置,表示成“驱动器”-目录这种结构,这样很容易被用户所理解。就像我们要访问一个位于D盘的WIN32目录下的SETUP.exe文件,我们要通过浏览器,单击D盘的图标,然后选择WIN32目录并双击一样,如果我们要访问位于“注册表”的数据,那么我们也只需要简单地通过Set-Location命令,来到到“REGISTRY”这个“驱动器”,然后用GET-CHILDITEM命令获取其子数据就行了。

注:实际上,PowerShell访问磁盘驱动器,也是通过Provider的,切换驱动器其实和切换其他数据容器是一样地操作。 例如: Set-Location d:\ 这是切换驱动器 Set-Location HKLM:\ 这是切换到注册表的HKLM键 另外,Get-PSprovider命令,可以查看当前已经安装的所有PROVIDER。任何熟悉.NET编程的人,都可以编写Provider。当新的provider被安装后,就叫做snap-in。snap-in其实是一个动态连接库dll文件,可以被安装到powershell中。然而,当一个snap-in安装后,却没有办法卸载。 Get-PSProvider: Name Capabilities Drives ---- ------------ ------ Alias ShouldProcess {Alias} Environment ShouldProcess {Env} FileSystem Filter, ShouldProcess {C, D, F, A...} Function ShouldProcess {Function} Registry ShouldProcess {HKLM, HKCU} Variable ShouldProcess {Variable} Certificate ShouldProcess {cert} 这些就是我机器上的默认安装后的provider。

使用Set-Location和Get-ChildItem浏览数据 Set-Location用于改变当前目录,以及选择当前的provider,而Get-ChildItem用于获取当前目录或者指定目录下的子对象: 例子: set-location hkcu:\software get-childitem 例子2: GCI -path HKLM:\software

有两种连接WMI服务的方法:l 使用Get-WmiObject可以很容易地连接到WMI服务,并且获取WMI对象。 l 使用一个COM对象,“WbemScripting.SWbemLocator”,可以连接WMI的服务。SWbemLocator对象只有一个方法,就是ConnectServer()。该方法接受5个参数:用户名,密码,语言代码,验证方法(Kerberos, NTLM等),标志(超时值)。

下例中,我们使用New-Object命令,创建了一个“WbemScripting.SWbemLocator”的实例。然后用这个实例的ConnectServer方法连接了到了一个WMI的名字空间(root\cimv2),ConnectServer方法返回了一个WMIService对象,接着又用这个对象的subClassesOf()方法,返回了一系列WMI的CLASS: $strComputer = "." $wmiNS = "\root\cimv2" $strUsr ="" #Blank for current security. Domain\Username $strPWD = "" #Blank for current security. $strLocl = "MS_409" #US English. Can leave blank for current language $strAuth = "" #if specify domain in strUsr this must be blank $iFlag = "0" #only two values allowed: 0 and 128. $objLocator = New-Object -comobject "WbemScripting.SWbemLocator" $objWMIService = $objLocator.ConnectServer($strComputer, ` $wmiNS, $strUsr, $strPWD, $strLocl, $strAuth, $iFLag) $colItems = $objWMIService.subClassesOf() Write-Host "There are: " $colItems.count " classes in $wmiNS" foreach ($objItem In $colItems) { $objItem.path_.class }

优缺点

PowerShell软件图片4

优点

PowerShell v3

PowerShell v3将在PowerShell上打造管理的大部分,也提供GUI管理选项以及命令行自动化。v3引入了一些相当重要的新功能。

更好的远程处理

PowerShell远程已经逐渐成为在网络上进行管理通信的主要渠道。越来越多的GUI管理控制台将依赖远程,因此加强PowerShell远程对微软很重要。现在能够断开远程会话,稍后能从同个或不同的计算机重新连接到相同的会话。客户端计算机崩溃的话,v3的社区技术预览版不能断开会话。相反,会话会永久关闭。所以这与远程桌面完全不同,远程桌面会话能在客户端崩溃时配置并打开会话。

工作流

本质上,PowerShell新的工作流构建能写入与功能类似的东西,使用PowerShell翻译命令和脚本代码到Windows工作流技术WWF进程中。WWF然后能管理整个任务,包括修复网络故障与重启计算机等。它是编排长期运行的、复杂的、多步骤任务的更有效更可靠的一种方式。如果这个功能与下一个版本的System Center Orchestrator集成。

PowerShell软件图片5

可更新的帮助

PowerShell与帮助文件中的错误做斗争。微软需要发布一个操作系统补丁。基于TechNet站点的在线帮助的存在减轻了这个问题,但杯水车薪。在v3中,帮助文件能按需更新,从任何微软服务器都可下载新的XML文件。所以微软就能根据找到的问题进行错误修复,不需要操作系统包或补丁。

预定任务(Scheduled Job)

owerShell v2引入了job,遵循的是job随着时间扩展的理念。在v3中,新型job即scheduled job能被创建并按计划运行,或者相应某个事件。这与Windows的Task Scheduler的区别只是其中一小点,不过最终用户能从PowerShell中获得这个功能。

更好的发现

关于命令行shell的一个困难部分在于如何使用。PowerShell的帮助系统很有用,需要提供用户想知道的命令的名字,并提供命令所在的插件名字,并记得加载附件到内存中。而PowerShell v3在搜索命令时,包含所有安装模块的所有命令,shell会运行没有装载的命令。这只能在那些存储在列于PSModulePath环境变量中的文件路径中的模块有用。如果要包含额外路径,可以在任何时候修改变量。

额外功能:CIM

PowerShell与Windows管理规范WMI运作很好,WMI是微软的一项技术,或多或少建立在标准的通用信息模块CIM上。在PowerShell v3中,WMI cmdlet发挥余热,加入到新的CIM cmdlet集中。功能看起来似乎有重叠:CIM cmdlet使用WS-MAN,这个协议位于PowerShell的Remoting功能,微软管理功能的新标准的后面。WMI使用被微软正式弃用的DCOM,意味着不会再开发新功能,但可一直使用。CIM是未来的方向,不仅有对已知WMI的额外开发,而且在未来还可跨平台管理。

缺点

PowerShell v3

新的Hyper-V 3.0 cmdlets不能管理老版本的Hyper-V。这意味着管理员根据Hyper-V的不同必须采用不同的脚本去管理,直至完成所有宿主机的升级。

Hyper-V 3.0和老版本不兼容。使用老版本Hyper-V的管理员需要从CodePlex下载PowerShell Library for Hyper-V。

命令大全

PowerShell软件图片6

Name                              Category  Synopsis                        

----                              --------  --------                        

ac                                Alias     Add-Content                      

asnp                              Alias     Add-PSSnapin                    

clc                               Alias     Clear-Content                    

cli                               Alias     Clear-Item                      

clp                               Alias     Clear-ItemProperty              

clv                               Alias     Clear-Variable                  

compare                           Alias     Compare-Object                  

cpi                               Alias     Copy-Item                        

cpp                               Alias     Copy-ItemProperty                

cvpa                              Alias     Convert-Path                    

dbp                               Alias     Disable-PSBreakpoint            

diff                              Alias     Compare-Object                  

ebp                               Alias     Enable-PSBreakpoint              

epal                              Alias     Export-Alias                    

epcsv                             Alias     Export-Csv                      

fc                                Alias     Format-Custom                    

fl                                Alias     Format-List                      

foreach                           Alias     ForEach-Object                  

%                                 Alias     ForEach-Object                  

ft                                Alias     Format-Table                    

fw                                Alias     Format-Wide                      

gal                               Alias     Get-Alias                        

gbp                               Alias     Get-PSBreakpoint                

gc                                Alias     Get-Content                      

gci                               Alias     Get-ChildItem                    

gcm                               Alias     Get-Command                      

gdr                               Alias     Get-PSDrive                      

gcs                               Alias     Get-PSCallStack                  

ghy                               Alias     Get-History                      

gi                                Alias     Get-Item                        

gl                                Alias     Get-Location                    

gm                                Alias     Get-Member                      

gmo                               Alias     Get-Module                      

gp                                Alias     Get-ItemProperty                

gps                               Alias     Get-Process                      

group                             Alias     Group-Object                    

gsv                               Alias     Get-Service                      

gsnp                              Alias     Get-PSSnapin                    

gu                                Alias     Get-Unique                      

gv                                Alias     Get-Variable                    

gwmi                              Alias     Get-WmiObject          

菜鸟教程

如何运行程序、脚本和已有的软件

如果以前经常使用一些别的工具进行开发,可能会有一些可执行文件、Perl脚本、批处理文件等,如果不想放弃这些,可以使用PowerShell直接运行它们。

a)       在系统路径下运行程序、脚本、批处理文件或者其它可执行文件,可以直接输入文件名运行。比如我把一个Test.cmd文件放在了”C:WindowsSystem32”下, 就可以如下方式运行它:

PowerShell菜鸟教程

b)      如果文件名字或路径中有空格,需要用(')引号将命令扩起来,同时在前面加上符号(&),这种叫做调用操作:

PowerShell菜鸟教程2

c)       要运行当前目录下的命令,需要文件名前加.,如:

PowerShell菜鸟教程3

d)      要运行当前目录下的命令,而且命令名字或路径带有空格,需要同时加上符号(&)和('):

PowerShell菜鸟教程4

运行PowerShell命令

除了支持传统的Windows可执行文件,PowerShell还推出了一个功能强大的新的命令叫做cmdlet。所有的cmdlet命令规则都遵循动词-名词这种语法结构,如Get-Command、Get-Content等,如下Get-Command命令意思是获取包含Process的所有命令集合:

PowerShell菜鸟教程5

其中输入”Get-Command -Name *Process”的时候,不用输入完整的命令名,PowerShell会帮助你使用Tab键来自动完成命令输入,包括命令的名称和参数的名称,如这样输入即可:Get-Comm

怎么打开提示符窗口

1、在Windows10系统中,我们点击桌面左下角的小娜搜索图标。

PowerShell怎么打开提示符窗口

2、然后在弹出的小娜搜索窗口中输入Powershell进行搜索,在弹出的菜单中找到Windows Powershell的菜单项。

PowerShell怎么打开提示符窗口2

3、点击后就可以打开Windows10系统的Powershell命令提示符窗口了。

PowerShell怎么打开提示符窗口3

占用cpu高怎么办

第一步我们可以把powershell.exe进程结束掉,释放cpu,但是一会儿还会启动powershell.exe进程,需要彻底进行禁用,进去C:\Windows\System32路径,找到WindowsPowerShell,如下图所示:

PowerShell占用CPU高怎么办

第二步进去之后,找到powershell.exe,如下图所示:

PowerShell占用CPU高怎么办2

第三步鼠标右键powershell.exe,选择管理员取得所有权,如果没有这一项,右键选择属性,点击安全,选择用户Administrators,然后将权限改为完全控制,如下图所示:

PowerShell占用CPU高怎么办3

第四步对powershell.exe进行重命名,让powershell程序不能运行,如下图所示:

PowerShell占用CPU高怎么办4

第五步打开任务管理器,可以看到cpu降下来了,powershell禁用了对电脑正常操作没有什么影响,如下图所示:

PowerShell占用CPU高怎么办5

更新日志

测试

在macOS上删除对DNS测试连接的依赖 (#12943)

建造和包装改进

更新.NET Core至3.1.6(内部12005)。

标签: 命令行工具 脚本工具

下载地址

PowerShell (附教程)官方版v7.0.3

普通下载通道

网友评论

返回顶部