当前位置:   article > 正文

Powershell学习笔记_get-process使用

get-process使用

查询进程的handle等于28的那条
get-process |where handles -eq 288

只获取进程名
get-process |select -Property name

查询进程id大于9000的
get-process |where id -ge 9000

获取运行中的服务
get-service |where {$_.status -eq "running"}

显示防火墙所有入站规则(输出太多)
Get-NetFirewallRule -Direction Inbound

进入注册表HKEY_CURRENT_USER项
Set-Location -path hkcu:
紧接着上面的,进入hkcu的子项software
Set-Location -path software
获得子项列表
Get-ChildItem
显示当前位置
pwd
查看当前位置下的Item
ls或者dir


将当前进程信息保存成csv
get-process | Export-Csv kahn-process.csv
接上一条,使用记事本打开(当前路径下的)一个文档
notepad .\kahn-process.csv

将当前所有服务导出转换成html
Get-Service | ConvertTo-Html | Out-File kahn-services.html


获得对象成员、方法
get-process |gm 等同get-process |Get-Member

停止一个叫notepad的进程
Get-Process -name notepad | Stop-Process  或  Stop-Process -name notepad

查询进程,并以进程id进行升序排列
Get-Process | Sort-Object -Property id
查询进程,并以进程id进行降序排列
Get-Process | Sort-Object -Property id -desc
查询进程,并以vm值升序排列
Get-Process | Sort-Object -Property vm

从文本中(一行一个服务名)批量获取指定服务的状态
get-service -Name (Get-Content .\kahn.txt)

获取正在运行的服务
get-service | where status -eq 'running'  
获取正在运行的,且是需要手工启动的服务
get-service | Where-Object {$_.Status -eq 'running' -and $_.StartType -eq 'manual'}

计算正在使用虚拟内存排名前十的进程所占用的虚拟内存总和。如果排名前十的进程中包含PowerShell进程,而又不想在结果中包含PowerShell进程
Get-Process | Where-Object -Filter { $_.name -notlike 'powershell*' } | sort vm -descending |select -first 10 | measure-object -property vm -sum

查询已安装的补丁列表中描述为security update的更新,条件是installedby 列包含system的所有补丁
Get-HotFix -Description 'security update' | where {$_.installedby -like '*system*'}

查询已安装的补丁中描述为security update的更新中,条件为补丁id像KB4022719的那条补丁
Get-HotFix -Description 'security update' | where {$_.hotfixid -like 'KB4022719'}
或'匹配'Get-HotFix -Description 'security update' | where {$_.hotfixid -match 'KB4022719'}

批量设置某些服务为自动开启
Get-Service -name BITS,Spooler,W32Time | Set-Service -startuptype Automatic

定义数组变量
$xname = 'kahn','serena','yiwanka'
把数组里的东西都打印出来直接输入变量--->$xname
打印数组第一个值--->$xname[0]
统计数组count--->$xname.count

定义个变量(只有一个值)
$kahn = "KahnNiHao"
小写输出变量的值--->$kahn.tolower()
大写输出变量的值--->$kahn.toupper()
输出变量的长度--->$kahn.length
变量再赋值--->$kahn = "the word enter by $kahn"

变量的数学运算
$xnum = $xnum * 7

接受一个字符串,如果字符串大于2就输出到屏幕
Write-Output "kahn hello world" | Where-Object { $_.length -GT 2 }

自定义显示磁盘剩余量

  1. Get-WmiObject -class win32_logicaldisk -computername localhost -filter "drivetype=3" | Sort-Object -property DeviceID |`
  2. Format-Table -property DeviceID,@{label='FreeSpace(MB)';expression={$_.FreeSpace / 1MB -as [int]}},`
  3. @{label='Size(GB)';expression={$_.Size / 1GB -as [int]}},`
  4. @{label='%Free';expression={$_.FreeSpace / $_.Size * 100 -as [int]}}

 

查看文本文档中是否有kahn字样?(findstr类似Shell中的grep)
cat a.txt |findstr kahn 或 Select-String "ka" .\a.txt 或 cat a.txt | where {$_ -match "kahn"}

获取C盘空闲空间
wmic LogicalDisk where "Caption='C:'" get FreeSpace /value

开启本机执行powershell脚本权限
set-ExecutionPolicy RemoteSigned

字符串替换
PS C:\Users\Administrator> "i am kahn" -replace "kahn","serena"
i am serena
PS C:\Users\Administrator> "i am kahn" -replace "KAHN","serena"
i am serena
PS C:\Users\Administrator> "i am kahn" -creplace "KAHN","serena"
i am kahn

字符串包含
PS C:\Users\Administrator> "i am kahn" -match "ka"
True
PS C:\Users\Administrator> "i am kahn" -match "KA"
True
PS C:\Users\Administrator> "i am kahn" -cmatch "KA"
False
PS C:\Users\Administrator> "i am kahn".Contains("kahn")
True
PS C:\Users\Administrator> "i am kahn".Contains("KAhn")
False

字符串模糊查找
PS C:\Users\Administrator> "3.1415926" -like "3.14*"
True

字符串分割
PS C:\Users\Administrator> "i am kahn".split("a")
i
m k
hn
PS C:\Users\Administrator> "i am kahn".split(" ")
i
am
kahn
 

PS C:\Users\Administrator> "http://www.hiibm.com".Split('./:')
http


www
hiibm
com
PS C:\Users\Administrator> "http://www.hiibm.com".Split('./:',[StringSplitOptions]::RemoveEmptyEntries)
http
www
hiibm
com

字符串比较
PS C:\Users\Administrator> "i am kahn".CompareTo("i am kahn")
0
PS C:\Users\Administrator> "i am kahn".CompareTo("i am kahn   ")
-1
PS C:\Users\Administrator> "i am kahn".CompareTo("i am Kahn")
-1

获取CPU使用率

  1. $cpu = Get-WmiObject -Class Win32_Processor
  2. $Havecpu = $cpu.LoadPercentage
  3. echo "$Havecpu"

获取内存使用率

  1. $men = Get-WmiObject -Class win32_OperatingSystem
  2. $Allmen = ($men.TotalVisibleMemorySize / 1KB)
  3. $Freemen = ($men.FreePhysicalMemory / 1KB)
  4. $Permem = ((($men.TotalVisibleMemorySize-$men.FreePhysicalMemory)/$men.TotalVisibleMemorySize)*100)

获取cpu核心数

  1. function get_logical_cpu_cnt () {
  2. $cpu_info = Get-WmiObject win32_processor
  3. return @($cpu_info).count * $cpu_info.NumberOfLogicalProcessors
  4. }
  5. echo "$(get_logical_cpu_cnt)"

获取操作系统版本

Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty Caption

获取磁盘剩余空间(任选一个)

  1. Get-WmiObject -Class Win32_LogicalDisk | select *
  2. Get-WmiObject -Class Win32_LogicalDisk | select deviceid,freespace
  3. wmic LogicalDisk where "Caption='C:'" get FreeSpace /value
  4. Get-WmiObject Win32_Volume | Format-Table DriveLetter,Capacity,FreeSpace

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/392352
推荐阅读
相关标签
  

闽ICP备14008679号