Prosessien tietojen etsiminen Powershellillä

November 10, 2016 – Samuli Seppänen

UNIX-tyyppissä järjestelmissä prosessitaulun tarkastelu on helppoa ps-komennolla. Samainen komento löytyy Powershellistäkin, mutta se on vain alias Get-Process CmdLetille, jolla saadaan helposti selville, mitä prosesseja järjestelmässä on käynnissä (alla typistetty tuloste):

> Get-Process
 
 Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
 ------- ------ ----- ----- ----- ------ -- -----------
 136 8 6428 8084 569 0.08 916 bash
 26 3 1496 2272 16 0.02 1560 cmd
 57 7 1096 5852 57 0.03 2144 firefox
 0 0 0 4 0 0 openvpn
 88 7 988 3668 50 0.02 2676 openvpnserv
 34 3 500 2332 14 0.00 4940 openvpnserv
 562 27 151992 161440 615 4.27 2388 powershell

Jos prosessin nimi on jo tiedossa, voidaan se antaa -Name -parametrilla - huomaa, että .exe jätetään pois lopusta:

> Get-Process -name "openvpn"
 
 Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
 ------- ------ ----- ----- ----- ------ -- -----------
 82 8 2376 6768 34 0.11 2228 openvpn

Hyödyntämällä Where-Object CmdLetiä voidaan valita prosesseja ilman, että määritellään niiden tarkka nimi:

> Get-Process | Where-Object { $_.Name -like "openv*" } 
 
 Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
 ------- ------ ----- ----- ----- ------ -- -----------
 82 8 2376 6768 34 0.11 2228 openvpn
 88 7 988 3668 50 0.02 2676 openvpnserv
 34 3 500 2332 14 0.00 4940 openvpnserv

Kuten yllä näkyy, Get-Process näyttää vain prosessin nimen, ei sen komentoriviparametreja. Nämä pitääkin kaivaa esille vaikeammin Get-WMIObject CmdLetillä:

> Get-WmiObject Win32_Process -Filter "Name = 'openvpn.exe'"|Select Commandline 
 
 Commandline
 -----------
 openvpn --service openvpn_exit_1 1 --config "community.ovpn"

Poistamalla -Filter -vivun näkyvät Commandline-attributiin lisäksi muutkin prosessin ominaisuudet.

Did you like the article? Share it with others!
Categories
#aad #Access #acl #alertmanager #ansible #ansible module development #Apache #API #augeas #authentication #authorization #automation #automatization #aws #azure #backup #bash #bitbucket #buildbot #cache #centos #cloud #cloud-init #cloudflare #cloudfront #cluster #connectionsJpa #control repo #custom fact #database #debian #devops #digital sovereignty #DNS #docker #domain mode #duplo #edenred #ejabberd #email #encryption #erb #europe #eyaml #fabric #facter #facts #fargate #fedora #file #finnish #foreman #freeipa #git #github #gitlab #gnome #google #grafana #hammer #hiera #IAM #import #infinispan #Infrastructure as Code #ipmi #irc #jboss #jdk #jenkins #JMESPath #json #kanban #keycloak #letsencrypt #librarian-puppet #librenms #linkedin #Linux #Location #loop #marketing #mautic #Mellon #mfa #microsoft #monitoring #mysql #nagios #network-manager #oauth #oauth2 #office365 #oidc #openshift #open source #openvpn #oxygen #packer #paranormal #pdk #people #php #pkcs7 #pomodoro #Powershell #preseed #presentation #profiles #prometheus #provisioning #puppet #puppet-bolt #puppet-litmus #puppetboard #puppetdb #Puppetfile #puppetserver #puppet types and providers #pxeboot #qemu #quality #r10k #rds #recruitment #redirect #Restrict #Reverse Proxy #robotframework #roles #rspec #ruby #SAML #selinux #sem #shell #showsql #snmp #snmpd #software developement #spam #ssh #sso #standardization #systemd #systemd-resolved #teams #terraform #twilio #ubuntu #user-data #vagrant #vanity awards #variable #vim #virtualbox #visualstudio #webdevelopment #wildfly #Windows #wireguard #wordpress #workflow #x11 #xmpp #zimbra
We are
 Puppeteers
menucross-circle