赞
踩
查询进程的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 }
自定义显示磁盘剩余量
- Get-WmiObject -class win32_logicaldisk -computername localhost -filter "drivetype=3" | Sort-Object -property DeviceID |`
- Format-Table -property DeviceID,@{label='FreeSpace(MB)';expression={$_.FreeSpace / 1MB -as [int]}},`
- @{label='Size(GB)';expression={$_.Size / 1GB -as [int]}},`
- @{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使用率
- $cpu = Get-WmiObject -Class Win32_Processor
- $Havecpu = $cpu.LoadPercentage
- echo "$Havecpu"
获取内存使用率
- $men = Get-WmiObject -Class win32_OperatingSystem
- $Allmen = ($men.TotalVisibleMemorySize / 1KB)
- $Freemen = ($men.FreePhysicalMemory / 1KB)
- $Permem = ((($men.TotalVisibleMemorySize-$men.FreePhysicalMemory)/$men.TotalVisibleMemorySize)*100)
获取cpu核心数
- function get_logical_cpu_cnt () {
- $cpu_info = Get-WmiObject win32_processor
- return @($cpu_info).count * $cpu_info.NumberOfLogicalProcessors
- }
- echo "$(get_logical_cpu_cnt)"
获取操作系统版本
Get-WmiObject -Class Win32_OperatingSystem | Select-Object -ExpandProperty Caption
获取磁盘剩余空间(任选一个)
- Get-WmiObject -Class Win32_LogicalDisk | select *
- Get-WmiObject -Class Win32_LogicalDisk | select deviceid,freespace
- wmic LogicalDisk where "Caption='C:'" get FreeSpace /value
- Get-WmiObject Win32_Volume | Format-Table DriveLetter,Capacity,FreeSpace
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。