PowerShell笔记


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58

1,图形化界面:powershell -ise
2,命令缓存:F7
3,获取帮助:get-help 如:get-help get-service [-detail|-full]
4,执行ps1文件:默认是不执行的,安全限制级别如下:

  • Restricetd:受限制,不执行任何配置文件和脚本。
  • AllSigned:必须签名的才执行。
  • RemoteSigned:远程文件需要签名才能执行,本地文件可执行
  • Unrestricted:不受限制,任意执行。

显示当前级别: get-executionpolicy
设置方法:set-executionpolicy remotesigned .
5,powershell传参:

  • powershell -nologo -noexit -command get-process #不退出无logo方式显示进程信息。
  • powershell -noexit -file run.ps1 #执行run.ps1文件

6,变量定义以$开头,执行字符串命令用&,若字符串命令带参数,那需要用大括号括起。或者用Invoke-Expression
7.格式化输出结果
  Format-list:列表形式
  Format-table:表
  Format-wide:指定宽度
  Group-Object:分组
  Sort-Object:排序
  where-object:筛选
 get-process|sort-object Handles
get-process|sort-object Handles|format-table handles,id,processname
 get-process|where-object {$_.processname -eq "powershell"}
get-alias|where-object {$._Definition -eq "get-service"}
8,输出到屏幕:write-host 录入:read-host
9,输出到文件: -file …或者 > 单>表示新建或覆盖,>>表示追加
10,别名:get-alias .如get-process = gps
11,常用:get-process,get-service,get-eventlog
12,逻辑: -eq = -ne 不=   -lt 小于 -gt 大于  -le:小于等于 -ge:大于等于 -contails 包含 -like 类似于 -replace 替换 -match 匹配
13,$args:接收参数。 $args[0], $args.count
14,单引号:直接输出。 双引号,除直接输出外,若有变量,则将变量转换成值再输出,反单引号执行转义。
15,数组:
  单数组 1)用逗号分隔。$arr=1,2,3 使用$arr[0],$arr[-1] 最后一位。
     2)多种类型,用小括号及分号隔开。$myArray=@(14;"this";get-process)
  多维数组
3行4列5层数组
 $arr = new-object 'object[,,]' 3,4,5
16,使用.net对象
1)静态成员变量  [类名]::静态方法名
[system.environment]::ProcessorCount . 输入::后按tab键可选择。
2)实例化
new-object -type 类名 -argumentlist application
3)加载程序集
如:
[Reflection.Assemble]::LoadWithPartialName("System.Windows.Forms")
17,注释#,多行注释<#…#>
18,固有变量
$env:computername
$env:username
$env:userdomain
19,系统日志操作
最近20条应用程序日志
 get-eventlog "Application" -newest 20
日志类型:Application, System, Ddirectory Service,"security"