一、启动PowerShell 2.0
打开“开始”、“所有程序”、“附件”、“Windows PowerShell”程序组,点击“Windows PowerShell”。
二、基本操作
1、查看可用的命令的列表
Get-Command
注:PowerShell有自动补齐命令的功能。例如,在本例中只需要输入“get-co”,然后按TAB键,PowerShell 就会自动补齐该命令。
2、查看Get-Alias的帮助信息
PS C:\Users\Administrator> Get-Help Get-Alias
名称
Get-Alias
摘要
获取当前会话的别名。
语法
Get-Alias [[-Name] <string[]>] [-Exclude <string[]>] [-Scope <string>] [<CommonParameters>]
Get-Alias [-Definition <string[]>] [-Exclude <string[]>] [-Scope <string>] [<CommonParameters>]
说明
Get-Alias cmdlet 获取当前会话的别名(命令和可执行文件的替代名称)。其中包括内置别名、已设置或导入的别名,以及已添加
到 Windows PowerShell 配置文件中的别名。
默认情况下,Get-Alias 获取别名并返回命令名称。当使用 Definition 参数时,Get-Alias 采用命令名称并返回其别名。
相关链接
Online version: http://go.microsoft.com/fwlink/?LinkID=113306
about_Aliases
Set-Alias
New-Alias
Export-Alias
Import-Alias
Alias Provider
备注
若要查看示例,请键入: "get-help Get-Alias -examples".
有关详细信息,请键入: "get-help Get-Alias -detailed".
若要获取技术信息,请键入: "get-help Get-Alias -full".
3、查看当前可用的命令名称
PS C:\Users\Administrator> Get-Alias
CommandType Name Definition
----------- ---- ----------
Alias % ForEach-Object
Alias ? Where-Object
Alias ac Add-Content
Alias asnp Add-PSSnapIn
Alias cat Get-Content
Alias cd Set-Location
。。。
4、查看当前的进程
PS C:\Users\Administrator> Get-Process
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
1167 8 2916 5468 109 0.45 484 csrss
212 8 12208 13116 176 2.51 524 csrss
240 8 5836 9836 59 0.31 2784 dllhost
77 3 1264 3140 42 0.00 3376 dwm
432 13 17344 18228 125 2.82 3480 explorer
128 4 5320 4288 35 0.00 3008 fdhost
58 3 1204 2780 37 0.00 2628 fdlauncher
0 0 0 24 0 0 Idle
152 5 6664 8980 58 0.09 1540 inetinfo
1933 36 89392 79348 520 9.09 740 java
。。。
5、尝试运行一个错误的命令
PS C:\Users\Administrator> Processes
无法将“Processes”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,
然后重试。
所在位置 行:1 字符: 10
+ Processes <<<<
+ CategoryInfo : ObjectNotFound: (Processes:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
6、定义一个新的别名
PS C:\Users\Administrator> Set-Alias Processes Get-Process
PS C:\Users\Administrator> Processes
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
1156 8 2916 5468 109 0.45 484 csrss
。。。
7、验证新增的别名
PS C:\Users\Administrator> Get-Alias
CommandType Name Definition
----------- ---- ----------
。。。
Alias Processes Get-Process
。。。
8、验证帮助信息
PS C:\Users\Administrator> Get-Help Processes
名称
Get-Process
摘要
获取在本地计算机或远程计算机上运行的进程。
语法
Get-Process [[-Name] <string[]>] [-ComputerName <string[]>] [-FileVersionInfo] [-Module] [<CommonParameters>]
Get-Process -Id <Int32[]> [-ComputerName <string[]>] [-FileVersionInfo] [-Module] [<CommonParameters>]
Get-Process -InputObject <Process[]> [-ComputerName <string[]>] [-FileVersionInfo] [-Module] [<CommonParameters>]
。。。
注意:显示Precesses命令的帮助信息仍然是原始命令Get-Process的信息。
三、使用管道和变量
1、排序显示
PS C:\Users\Administrator> Get-Process | Sort-Object -Property id
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
0 0 0 24 0 0 Idle
577 0 0 1280 4 4 System
28 1 252 428 4 0.05 420 smss
1163 8 2924 5476 109 0.50 484 csrss
212 7 12316 13192 176 6.07 524 csrss
98 4 1136 2972 36 0.05 532 wininit
115 3 1268 2736 26 0.02 564 winlogon
283 7 2212 4216 27 5.24 612 services
990 13 4188 6952 44 2.84 624 lsass
。。。
2、排序且筛选显示的列
PS C:\Users\Administrator> Get-Process | Select-Object -Property id,Handles,ProcessName | Sort-Object -Property id
Id Handles ProcessName
-- ------- -----------
0 0 Idle
4 575 System
420 28 smss
484 1158 csrss
524 212 csrss
532 98 wininit
564 115 winlogon
612 283 services
624 990 lsass
632 160 lsm
740 1934 java
。。。
3、按顺序显示前10个
PS C:\Users\Administrator> Get-Process | Sort-Object -Property id | Select-Object -First 10
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
0 0 0 24 0 0 Idle
576 0 0 1280 4 4 System
28 1 252 428 4 0.05 420 smss
1157 8 2924 5476 109 0.50 484 csrss
212 7 12316 13196 176 6.94 524 csrss
98 4 1136 2972 36 0.05 532 wininit
115 3 1268 2736 26 0.02 564 winlogon
283 7 2212 4216 27 5.26 612 services
990 13 4188 6932 44 2.84 624 lsass
160 3 1524 3032 24 0.00 632 lsm
4、格式化
PS C:\Users\Administrator> Get-Process | Sort-Object -Property id | Select-Object -First 10 | Format-List
Id : 0
Handles : 0
CPU :
Name : Idle
Id : 4
Handles : 575
CPU :
Name : System
。。。
5、将显示结果储存到变量,然后显示变量
PS C:\Users\Administrator> $processes = Get-Process | Sort-Object -Property id
PS C:\Users\Administrator> $processes
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
0 0 0 24 0 0 Idle
576 0 0 1280 4 4 System
28 1 252 428 4 0.05 420 smss
1166 8 2924 5480 109 0.51 484 csrss
212 7 12316 13268 176 7.38 524 csrss
98 4 1136 2972 36 0.05 532 wininit
115 3 1268 2736 26 0.02 564 winlogon
283 7 2212 4216 27 5.26 612 services
。。。
三、查看PowerShell版本
1、Windows Server 2008 x64 的 PowerShell 1.0
在Windows Server 2008 x64使用“服务器管理器”通过“添加功能”安装PowerShell 1.0。
PS C:\Users\Administrator> Get-Host
Name : ConsoleHost
Version : 1.0.0.0
InstanceId : 9f1ea99d-67bd-473d-a826-b64a74b178cf
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : zh-CN
CurrentUICulture : zh-CN
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
2、Windows Server 2008 x64 的 PowerShell 2.0
通过官网下载安装程序 Windows6.0-KB968930-x64.msu,安装之后会在“附件”创建一个“Windows PowerShell”的程序组。
PS C:\Users\Administrator> Get-Host
Name : ConsoleHost
Version : 2.0
InstanceId : acc0f1f3-ce59-4f72-af22-91a1a264a2f0
UI : System.Management.Automation.Internal.Host.InternalHostUserInterface
CurrentCulture : zh-CN
CurrentUICulture : zh-CN
PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
IsRunspacePushed : False
Runspace : System.Management.Automation.Runspaces.LocalRunspace