upload successful

自从接触 ivanti EPM 产品后,就会经常遇到用户抛给我一些奇奇怪怪的问题,例如他想通过脚本去实现一个怎样的功能,但是他自己不会写,就会要求我帮他实现,虽然有一点强人所难,但为了生活我也只能强忍泪水

用户一些简单的需求我会用批处理来实现,因为这个我比较熟悉,但是大多数情况下有些功能需要用 PowerShell 语法来实现,由于我自己并没有学习过 PowerShell ,简单的我可以通过百度了解,复杂的我也只能大概照抄,但是不知道如何修改,这便让我不得不抽点时间学习一下 PowerShell ,毕竟将来自己转系统运维也会用得上

# 基本语法

先简单的了解一下 PowerShell 的命令语法, PowerShell 的命令一般称为 cmdlet(command-lets) , 由 谓词 - 名词 组成,例如 Get-Help 获取帮助信息,这样的命令语法还是比较容易让人理解的,下面了解一下常用的命令

  • 查看版本

$psversiontable

upload successful

  • 获取所有的命令

get-command or gcm

upload successful

  • 查看命令帮助信息

get-help get-command

upload successful

  • 查看计算机服务和格式化筛选

get-service

upload successful

get-service | format-table status, name | findstr /i running

upload successful

  • 查看进程信息

get-process

upload successful

  • 查看文件和目录

get-childitem or dir or ls

upload successful

  • 查看当前会话别名

get-alias

upload successful

  • 获取别名对应的真实命令

get-alias -name ls

upload successful

  • 查找 Remove 开头的别名

get-alias | where {$_.Definition.StartsWith("Remove")}

upload successful

  • 自定义别名

set-alias -name tk -value taskmgr

upload successful

  • 导出别名

export-alias c:\temp\test.ps

upload successful

  • 导入别名

import-alias -force c:\temp\test.ps

upload successful

  • 查看历史命令

get-history

upload successful

  • 查看当前时间

get-date

upload successful

  • 查看系统变量

$env:path

upload successful

  • 查看特定系统变量值

$env:windir

upload successful

  • 创建新的环境变量

$env:name="Newenv"

upload successful

  • 删除变量

del env:name

upload successful

  • 查看当前变量

ls variable:

upload successful

  • 查看特定变量

ls variable:remove*

upload successful

  • 自动化变量:打开 powershell 自加载变量

$home and $pid and $$

upload successful

  • 添加永久生效变量

[environment]::setenvironmentvariable("PATH","c:\temp","User") # 当前用户

[environment]::getenvironmentvariable("PATH","User")

upload successful

[environment]::setenvironmentvariable("PATH","c:\temp", [system.environmentvariabletarget]::machine) # 系统变量,对所有用户生效

  • 查看脚本执行权限

get-executionpolicy

upload successful

  • 修改脚本执行权限

Set-ExecutionPolicy RemoteSigned

upload successful

  • BAT 调用 PS 脚本

powershell "&'c:\temp\test.ps\'"

# 筛选命令

  • 筛选谓词

get-command -Verb 'get'

upload successful

  • 筛选名词

get-command -Noun P*

upload

  • 筛选属性

select-object 可以从一个或多个对象中选取特定的属性

netstat -ano | select-object -first 20

-first num 只查看前面 num 行信息

upload successful

# 运算符

  • 等于 -eq

upload successful

  • 不等于 -ne

upload successful

  • 大于 -gt

upload successful

  • 小于 -lt

upload successful

  • 大于等于 -ge

upload successful

  • 小于等于 -le

upload successful

此文章已被阅读次数:正在加载...Edited on

Give me a cup of [coffee]~( ̄▽ ̄)~*

Bob WeChat Pay

WeChat Pay

Bob PayPal

PayPal

Bob Alipay

Alipay