### 命令格式
Verb-noun -paramter actual_parameters
#帮助系统
man(Get-Help) -FULL
### 常用命令
$PSVersionTable
Get-Member
> (ps)[0]|gm
Get-Verb
Get-Alias
Get-ExecutionPolicy
Get-Process | where
### 通用对象方法
- GetType
(1..5)[0].GetType()
1..5 | select {$_.GetType().Name}
### 技巧
- man New-Alias help New-Alias
- tab键补全
- 小写输入命令后,按tap补全后变大写说明命令正确
#从类名查看类方法 静态方法
[System.string] | get-member -MemberType Method -Static
[System.AppDomain] | get-member -MemberType Method -Static
#从程序集查方法
[AppDomain]::CurrentDomain.GetAssemblies() |
Where-Object { -not $_.IsDynamic } |
ForEach-Object { $_.GetExportedTypes() } |
ForEach-Object { $_.getmembers() } |
Where-Object { $_.isStatic} |
Where-Object { $_ -like "*environment*" } |
ForEach-Object { "[{0}]::{1} --> {2}" -f $_.declaringtype, $_.toString().SubString($_.toString().IndexOf(" ")+1), $_.ReturnType }
#param([int]$n = $(throw "请输入一个正整数"))
上面这条指令在ISE中执行,输入参数正确也会输出错误提示,但不影响结果
在powershell中执行时,输入参数正确,结果正确,也不会提示
#字符串比较 用 -like 不能用contains, 用通配符* 代表前后其它字符来模糊匹配
ps | ? {$_.Name -like "*You*"} #-Clike #-Ilike
Get-WindowsFeature
行前面的[ ]表示没有安装,[x]表示已经安装
第三列 要安装的包名
通用参数:
-whatif
参数说明:
是否必须: True是必选参数
位置说明: 如果是0或1表示可以可以省略型参
如果是named, 要用型参指定
Get-Command -Verb format
gcm -noun process
#查询别名
ls alias: | where {$_.Definition.Contains("Get")}
#查看Powershell支持的驱动器,
Get-PSDrive
#查看正在使用的变量>Powershell将变量的相关信息的记录存放在名为variable:的虚拟驱动器中。
#如果要查看所有定义的变量,可以直接遍历variable:
ls variable:
# Powershell所有的变量都有一个决定变量是否可用的作用域。Powershell支持四个作用域:全局、当前、私有和脚本。
PS> $logo
PS> $local:logo
PS> $script:logo
PS> $private:logo
PS> $global:logo
#将十进制转换成十六进制 PS C:> (1515).ToString('x') 5eb PS C:> (1515).ToString('X') 5EB PS C:> "{0:X}" -f 1515 5EB PS C:> "{0:x}" -f 1515 5eb #将十六进制转换成十进制 PS C:> 0xf 15 PS C:> 0xABCEF 703727 <#读取特殊的环境变量 通过环境变量读取Windows操作系统的安装路径,和默认应用程序的安装路径。 #> PS> $env:windir C:Windows PS> $env:ProgramFiles C:Program Files # 查找环境变量 # Powershell把所有环境变量的记录保存在env: 虚拟驱动中,
# 因此可以列出所有环境变量 。一旦查出环境变量的名字就可以使用$env:name 访问了。 PS> ls env: Name Value ---- ----- ALLUSERSPROFILE C:ProgramData APPDATA C:Usersv-testHomeAppDataRoaming CommonProgramFiles C:Program FilesCommon Files COMPUTERNAME MYHome-test-01 ComSpec C:Windowssystem32cmd.exe FP_NO_HOST_CHECK NO HOMEDRIVE C: HOMEPATH Usersv-testHome #使用环境变量 PS C:Usersvv> cd $env:windir PS C:Windows>
#转义符 反引号”`”
#输出对象
Get-Variable str | Format-Table Name,Description
$str="我是一个变量" $var=Get-Variable str $var | fl * #fl==> Format-List
Get-Variable str | ft Name,Description #ft==>Format-Table