powershell 常用命令

### 命令格式
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:\User\sv-test\Home\AppData\Roaming CommonProgramFiles C:\Program Files\Common Files COMPUTERNAME MYHome-test-01 ComSpec C:\Windows\system32\cmd.exe FP_NO_HOST_CHECK NO HOMEDRIVE C: HOMEPATH Users\v-test\Home #使用环境变量 PS C:\Users\vv> 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

 

posted @ 2018-11-20 15:44  乘于时  阅读(1756)  评论(0编辑  收藏  举报