PowerShell(一)基础知识
2015-01-05 19:16
567 查看
Windows PowerShell 是windows平台下一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。
对比下vbs和批处理
简直是神级的脚本了~(尤其是可以使用Native commands, COM对象和.Net对象)
作为一门如此强大的脚本,肯定是有复杂性的。
虽然如此,可以通过三个命令,来“自学”,它们就是
Get-help, Get-command, Get-member (望文生义,语义比较强)
以一个为例
还可以带-examples参数来获取提供的例子
以上知道后,来写个PS脚本运行吧? 且慢
传统的批处理、vbs脚本,写完后保存,直接双击就可以运行。如果是ps脚本,这样是行不通的。需要设置执行策略
Set-ExecutionPolicy <执行策略>
有四种策略:
- Restricted——默认的设置, 不允许任何script运行
- AllSigned——只能运行经过数字证书签名的script
- RemoteSigned——运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名
- Unrestricted——允许所有的script运行
入门级知识点有:
1.Write-Host/Write-Debug ... 等等Write系列的
2.Get-member/Get-Process/Get-Date
3.变量的定义
类型也可以强制声明
PS C:\Users\Administrator> [int]$i=10
4.Where-Object
4.函数的定义
function TestFunc([string]$pa)
{
#function body
}
函数的调用 TestFunc "test"
5.Get-Process | Out-File -Append txt.txt
或者 Get-Process >> txt.txt (使用重定向符)
6. 其他好玩的
比如一下(很像Python啊)
对比下vbs和批处理
简直是神级的脚本了~(尤其是可以使用Native commands, COM对象和.Net对象)
作为一门如此强大的脚本,肯定是有复杂性的。
虽然如此,可以通过三个命令,来“自学”,它们就是
Get-help, Get-command, Get-member (望文生义,语义比较强)
以一个为例
PS C:\Users\Administrator> Get-Help Get-Process 名称 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>] 说明 Get-Process cmdlet 获取本地或远程计算机上的进程。 如果没有参数,则 Get-Process 获取本地计算机上的所有进程。还可以通过进程名称或进程 ID (PID) 来指定特定进程,或将进程对象通过管道传送给 Get-Process。 默认情况下,Get-Process 将返回一个进程对象,该对象包含有关进程的详细信息并且支持允许您启动和停止进程的方法。还可以使用 Get-Process 的参数来获取进程中运行的程序的文件版本信息以及获取进程加载的模块。 相关链接 Online version: http://go.microsoft.com/fwlink/?LinkID=113324 Get-Process Start-Process Stop-Process Wait-Process Debug-Process 备注 若要查看示例,请键入: "get-help Get-Process -examples". 有关详细信息,请键入: "get-help Get-Process -detailed". 若要获取技术信息,请键入: "get-help Get-Process -full".
还可以带-examples参数来获取提供的例子
以上知道后,来写个PS脚本运行吧? 且慢
传统的批处理、vbs脚本,写完后保存,直接双击就可以运行。如果是ps脚本,这样是行不通的。需要设置执行策略
Set-ExecutionPolicy <执行策略>
有四种策略:
- Restricted——默认的设置, 不允许任何script运行
- AllSigned——只能运行经过数字证书签名的script
- RemoteSigned——运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名
- Unrestricted——允许所有的script运行
入门级知识点有:
1.Write-Host/Write-Debug ... 等等Write系列的
2.Get-member/Get-Process/Get-Date
3.变量的定义
PS C:\Users\Administrator> $a="i am ps" PS C:\Users\Administrator> "$a" i am ps PS C:\Users\Administrator> '$a' $a 单引号和双引号是有差别的
类型也可以强制声明
PS C:\Users\Administrator> [int]$i=10
4.Where-Object
PS C:\Users\Administrator> $p = Get-Process | Where-Object {$_ -like "*qq*"} PS C:\Users\Administrator> $p Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 1176 99 147560 90480 491 22.12 4348 QQ 305 36 11700 980 153 0.47 6232 QQPCNetFlow 323 49 21372 34836 160 4.54 4240 QQPCRealTimeSpeedup 696 61 30960 16036 265 7.08 972 QQPCRTP 1274 87 40860 13056 330 10.03 2724 QQPCTray 355 29 16820 6072 121 0.67 2660 QQProtect
4.函数的定义
function TestFunc([string]$pa)
{
#function body
}
函数的调用 TestFunc "test"
5.Get-Process | Out-File -Append txt.txt
或者 Get-Process >> txt.txt (使用重定向符)
6. 其他好玩的
比如一下(很像Python啊)
PS C:\Users\Administrator> 3*4*5 60 PS C:\Users\Administrator> [math]::pi 3.14159265358979 PS C:\Users\Administrator> "*"*10 **********
相关文章推荐
- 【探索PowerShell 】【五】PowerShell基础知识
- PowerShell中的变量基础知识介绍
- [原创][PowerShell教程][02]PowerShell基础知识之一
- PowerShell基础知识
- 探索PowerShell(五) PowerShell基础知识
- (3)Powershell基础知识(一)
- (4)Powershell基础知识(二)
- PowerShell面向对象编程基础知识总结
- PowerShell GUI 之基础知识
- PowerShell基础知识
- 建立个人网站的基础知识一:技术方面
- 色彩系列教程(1):基础知识
- 摄影基础知识汇总
- 建立个人网站的基础知识三:软件方面
- 加密和 PKI 基础知识
- OLAP与OLTP的一些基础知识
- 标准化基础知识
- 00014.网络基础知识
- Linux下C语言编程--基础知识
- 基础知识-如何查看MAC地址