PowerShell 入门

摘要:
PowerShell入门一PowerShell介绍PowerShell即开发代号为Monad的命令行外壳和脚本系统管理工具。PowerShell是微软公司于2006年第四季度正式发布的,它的出现标志着微软公司向服务器领域迈出了重要的一步,拉近了与Unix、Linux等操作系统的距离。四概念介绍1cmdletcmdlet是WindowsPowerShell的指令,这相当于DOS或其它shell的内建指令。但是在PowerShell中,所有的结果是按照管道的顺序连续产生的。

PowerShell 入门

一 PowerShell 介绍
PowerShell即开发代号为Monad的命令行外壳和脚本系统管理工具。 PowerShell是微软公司于2006年第四季度正式发布的, 它的出现标志着 微软公司向服务器领域迈出了重要的一步, 拉近了与Unix、 Linux等操作系统的距离。 PowerShell的前身命名为Monad, 在2006年4月25日正式发布beta版时更名为PowerShell,PowerShell是一款基于对象的shell, 建立在.Net框架之上, 目前支持.Net Framework 2.0. 能够运行在Windows XP SP2, Windows Vista, Windows 2003操作系统上。 能够同时支持WMI, COM, ADO.NET, ADSI等已有的Windows管理模型。

二 下载和安装
目前最新版本为:Windows PowerShell 2.0 Community Technology Preview (CTP)
http://www.microsoft.com/downloads/details.aspx?familyid=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&displaylang=en
下载PowerShell_Setup_x86.msi 首先要下载补丁包WS-Management v1.1安装后,才能正常安装PowerShell_Setup_x86.msi。

并下载补丁包 WS-Management v1.1
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=845289ca-16cc-4c73-8934-dd46b5ed1d33

三 执行方式
可以利用以下三种方式执行 Windows PowerShell:
位于『开始 / 所有程序』的『Windows PowerShell』快捷方式。
在『开始 / 运行』的『运行』命令窗输入 powershell。
在任何『命令提示字符』窗口的命令提示符号输入 powershell。

四 概念介绍

1 cmdlet
cmdlet是 Windows PowerShell 的指令,这相当于 DOS 或其它 shell 的内建指令。
cmdlet 的发音方式是 command-let。cmdlet 名称的格式都是以连字符号隔开的一对动词和名词,并且通常都是单数名词。例如可以在线查询 cmdlet 用法的 cmdlet 即为 get-help。cmdlet 名称的动词部分大致有 get、set、add、remove 等等。
注:Windows PowerShell 的操作与 DOS 相同,输入的字母都不分大小写。

2 管道
管道操作符 (|)
PowerShell中的的管道与传统环境中的管道有所不同。
在传统环境中,一个命令的结果作为一个单一的结果集被返回,也就是说整个结果集必须在任何信息传递到管道之前生成;第一个结果与最后一个结果是同时返回的。
但是在PowerShell中,所有的结果是按照管道的顺序连续产生的。一旦一个命令返回一个
结果,它就会把它传递到管道上,而该结果就立刻可以被管道上的下一个命令使用。

五 使用技巧

1 管道
#此命令显示正在运行的服务
get-service | where-object {$_.Status -eq "Running"}
或者gsv | where{$_.status -eq 'running'}
#可以加Select-Object 过滤属性
Get-Service | Where-Object{$_.Status -eq 'Running'} | Select-Object Displayname

2 格式化语句的输出
#以表格输出当前进程
Get-Process | Format-Table
#以列表输出当前进程
Get-Process | Format-Table
#以宽表的格式显示当前进程
Get-Process | Format-Wide
3 控制语句的输出
#输出到指定文件
Get-Process powershell | Format-List | Out-File -FilePath D:/guoqiang/ps.txt
#追加文本
Get-Process powershell | Format-List | Out-File -FilePath D:/guoqiang/ps.txt -append

4 排序语句的输出
#降序排序
Get-ChildItem C:/windows | Where-Object{$_.Length -gt 50000} | Sort-Object -property Length -descending
5 如何处理PowerShell的长语句
当命令以管道符合(|)结尾时,将进入“多行模式”,出现多行提示符“>>”,直至执行两次回车键才返回正常的提示符;
例如:
PS C:/> Get-Service |
>> Where-Object{$_.status -eq 'running'} |
>> Select-Object displayname
>>

DisplayName
-----------
Windows Audio
Background Intelligent Transfer Service

如果不是以(|)结尾,会报错;则要加反勾号(`)结尾告诉PowerShell要延续到下一行。
PS C:/> Get-Service |
>> Where-Object{$_.status -eq 'running'}
>> | Select-Object name
>>
An empty pipe element is not permitted.
At line:3 char:2
+ | <<<< Select-Object name
PS C:/> Get-Service |
>> Where-Object{$_.status -eq 'running'} `
>> | Select-Object name
>>

Name
----
AudioSrv
BITS

如果想手工终止一个语句,在结尾加上(;)即可;

六 常用命令
1 get-help
别名:help
功能:
可以在线查询所有的 Windows PowerShell 指令和说明文件。
举例:
#列出所有的主题,包括指令和概念。
get-help *
#列出所有的主题,包括指令和概念,而且显示满整个窗口就暂停。
get-help * | more
#列出所有别名 并输出到文件中
Get-Help * | Select-Object Name,synopsis | Out-File -FilePath D:/guoqiang/alias.txt
2 Set-Location
别名:cd
功能:
举例:
PS C:/> Get-ChildItem C:/

3 Get-Alias
别名:gal
功能:
举例:
PS C:/> Get-Alias | Select-Object name,definition

4 Get-Command
别名:gcm
功能:获取命令清单
举例:
PS C:/> Get-Command Get*

5 Set-Content
别名:sc
功能:向文件中写入数据
举例:
PS C:/> Set-Content D:/guoqiang/test.txt -value "http://blog.csdn.net/guoqiang1983"

6 Get-Content
别名:gc
功能:从文件中读取内容
举例:
PS C:/> Get-Content D:/guoqiang/test.txt
http://blog.csdn.net/guoqiang1983
PS C:/>

7 Set-ExecutionPolicy
别名:
功能:设置PowerShell脚本运行功能
* Restricted,默认设置,不允许运行任何脚本。
* AllSigned,仅运行受信任脚本(稍后会详细介绍)。
* RemoteSigned,运行本地脚本,不管这些脚本是否受信任;如果是从 Internet 下载的脚本,则必须是受信任的脚本才能够运行。
* Unrestricted,允许运行所有脚本,甚至是不受信任的脚本。
举例:
PS C:/> Set-ExecutionPolicy RemoteSigned

8 Set-PSDebug
别名:
功能:设置调试条件
举例:
PS C:/> Set-PSDebug -step
PS C:/> Get-Process

Continue with this operation?
1+ <<<< Get-Process
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):

9 Get-Process
别名:
功能:查看进程
举例:
PS C:/> Get-Process

10 Get-EventLog
别名:
功能:获取日志记录
举例:
PS C:/> Get-EventLog -newest 10 -logname system

11 get-service
功能:取得本地计算机上的服务.
举例:
#此命令显示正在运行的服务
get-service | where-object {$_.Status -eq "Running"}

七 学习PowerShell资源
1 TechNet Magazine: Windows PowerShell
http://technet.microsoft.com/zh-cn/magazine/cc135920.aspx

免责声明:文章转载自《PowerShell 入门》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇登录功能测试总结python-3.6.2安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

cnpm : 无法加载文件 C:UsersadminAppDataRoaming pmcnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息 hbuilderx

在cmd中可以正常使用cnpm命令,在idea中也可以使用,到了hbuilderx无法使用,而是出现以下错误,hbuilderx版本2.9.3 cnpm : 无法加载文件 C:UsersadminAppDataRoaming pmcnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https :/go.microsoft.com/fwlin...

Zynq-7000 MiZ701 SOC硬件使用手册

一、整体概述 4 二、应用领域及人群 4 三、硬件配置 4 BANK资源分配 6 四、MiZ701开发板功能描述 7 4.1 全编程SOC(All Programmable SoC) 7 4.2 内存(Memory) 7 4.2.1 DDR3 7 4.2.2 PROM SPI FALSH 8 4.2.3 TF 卡 9 4.3 USB...

Shell 编程

  Shell 是一门脚本语言(又称解释型语言),Shell 其实就是一个纯文本文件,通常以【#!/bin/bash】开始。脚本自上而下,从左至右分析并执行,其中【#】后面的为注释。脚本有以下几种运行方式:(1) 【bash shell.sh】 (2)【sh shell.sh】(3)【./shell.sh】当前目录下执行,用户必须有可执行权限 (4)【. ....

TeamViewer---Linux远程控制利器

TeamViewer中国官网TeamViewer用户手册参考链接一参考链接二参考链接三:每天一个linux命令(41):ps命令 简介 TeamViewer是一个远程控制软件,兼容于Microsoft Windows、Mac OS X、Linux、iOS、Android操作系统,也可以通过网页浏览器连接已安装TeamViewer的电脑。 安装 # lin...

【shell脚本】匹配函数的正则表达式

自己写了一个统计代码中的函数以及函数个数的正则表达式: grep '(' filename.c | grep ')' | grep -v ';' | grep '^[a-z]|[A-Z]' 原理: 1.分析函数的语法特点: 函数实现部分的代码,所在行没有分号,因此,使用grep -v ';'过滤掉有分号的行; 函数实现部分可能有返回值声明,因此,使用gr...

#!/usr/bin/env 脚本解释程序的作用

the Zimbu programming language http://www.zimbu.org/getting-started ------------------------------------------------------------------------------ #!/usr/bin/env在linux的一些bash的脚本,需...