User Tools

Site Tools


program_lang:powershell_misc

This is an old revision of the document!


Powershell misc

Upper / Lower

PS /root> $text1 = "Hello".ToUpper()
PS /root> Write-Host $text1
HELLO
PS /root> $text1 = "Hello".ToLower()
PS /root> Write-Host $text1
hello

ATTENTION: Powershell is not case sensitive

PS /root> $text1 = "Hello"
PS /root> $text2 = "HELLO"
PS /root> $text1 –eq $text2
True

List full parameters

Get full parameters format-list or fl

PS /root> Get-Process | format-list
Id      : 1627
Handles : 7
CPU     : 0
SI      : 1627
Name    : xrdp-sesman

...

Get selected parameters

PS /root> Get-Process | format-list -Property Id,CPU
Id  : 1627
CPU : 0

...

Powershell tail, sort

PS /root> Get-Process | Sort-Object -Property CPU | Select-Object -Last 5                                                                                                                                    

 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName                                                                                                                                                       
 ------    -----      -----     ------      --  -- -----------                                                                                                                                                       
      0     0.00    1695.88    3461.67    2118 118 X                                                                                                                                                                 
      0     0.00      83.30    3837.19    5662 328 chrome                                                                                                                                                            
      0     0.00     562.67    4124.23    3965 283 firefox                                                                                                                                                           
      0     0.00      20.55    5235.46    2373 370 pulseaudio                                                                                                                                                        
      0     0.00    6483.15   79748.30   31295 264 VirtualBoxVM  

log your script

$Logfile = $MyInvocation.MyCommand.Path -replace '\.ps1$', '.log'

Start-Transcript -Path $Logfile
#Doing some stuff with the Verbose parameter
Get-ChildItem -Verbose
Get-Service -Verbose
Get-Process -Verbose
Write-Output 'Writing some text to the log file' 

Stop-Transcript

Suppress multiple pattern in list

PS /usr/fcm> $Eliminate = @("vml","vm2","vm3")
PS /usr/fcm>  Get-VM | Select-String -pattern $Eliminate  -notMatch
vm4
vm5

sed in Powershell

# cat input.txt | sed 's/old/new/' > output.txt
  cat: in Powershell : Get-Content
  $_ : pipe
  { } : command delimiter
  % : iteration
PS1> Get-Content input.txt | %{$_ -replace "old", "new"} | Set-Content output.txt
program_lang/powershell_misc.1638735002.txt.gz · Last modified: 2021/12/05 21:10 by manu