SlideShare a Scribd company logo
1 of 13
PowerShell
Onderwerpen
Wat is PowerShell
WMI: Windows Management Instrumentation
Windows register
Filesystem
Services, processen en eventlogs
Wat is PowerShell
Windows PowerShell™ is een objectgeörienteerde shell- en scripttaal met directe toegang tot:
● .NET framework
● COM objecten
● Windows Management Instrumentation (WMI)
● Windows register
● Windows eventlogs
● Filesystem
Met PowerShell kunnen taken worden uitgevoerd op zowel lokale als remote Windows
systemen.
PowerShell is standaard aanwezig in Windows 7 en Windows Server 2008.
Voor oudere systemen kan PowerShell gratis worden gedownload.
Processen en services
Processen
Get-Process | select ProcessName, Id, Cpu, Starttime
gwmi win32_process -filter "name like '%powershell%'"
gwmi win32_process -filter “processid = 3692”
Services
Get-Service
gwmi win32_service -filter “name like '%w32time%'”
Eventlogs
Eventlogs
Vanaf Windows Vista een uitbreiding van het aantal eventlogs:
Get-WinEvent -listlog *
Voorbeeld: Windows aan en uit
get-winevent | where {$_.id -eq 6005} | fl
get-winevent | where {$_.id -eq 6006} | fl
Uitleg over de diverse codes is te vinden op www.eventid.net
WMI
WMI staat voor Windows Management Instrumentation. WMI is een database die op
iedere Windows computer aanwezig is (sinds Windows NT). In deze database staat
informatie over de computer zelf, zoals de hoeveelheid geheugen, het type videokaart,
de laatste updates en welke software is geïnstalleerd. Vrijwel alle gegevens over hard- en
software is terug te vinden in deze database.
Database
Get-wmiobject -list
Informatie over de HDD
Get-wmiobject win32_diskdrive | select partitions, deviceid, model, @{Expression={
[math]::truncate($_.size/1GB)};Label=”capacity (GB)”}
Partitietabel
Get-wmiobject win32_diskpartition | select name, diskindex, startingoffset, bootable,
blocksize, numberofblocks, @{Expression={[math]::truncate($_.size/1GB)};Label=”
size (GB)”} | FT -auto
Windows register
PowerShell heeft directe toegang tot registerhives als:
HKEY_LOCAL_MACHINE
HKEY_CURRENT_USER
Voorbeeld:
cd hklm:
dir
Interessante lokaties:
HKLM:systemCurrentControlSetenum
Windows register
Voorbeeld
Welke USB datadragers hebben in het systeem gezeten:
cd hklm:systemcurrentcontrolsetenumusbstor
dir
Foreach ($i in dir | foreach {$_.pschildname}) {dir $i | gp | select @{Expression={
$_.psparentpath.substring($_.psparentpath.lastindexof(“”)+1)};Label=”
Device“},FriendlyName}
Windows register
Met welke netwerken (bedraad / draadloos) heeft het systeem verbinding gehad:
Interessante registersleutels (vanaf Windows Vista) zijn te vinden in
HKLM:Systemcurrentcontrolsetservicestcpipparametersinterfaces
HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles
Bekijk details van netwerken:
cd HKLM:Systemcurrentcontrolsetservicestcpipparametersinterfaces
dir | gp
Windows register
dir | Get-ItemProperty | select @{Expression={$_.ProfileName};Label="SSID"},
@{Expression={
$hexes = [System.BitConverter]::ToString($_.datecreated) -split '-'
$year = [Convert]::ToInt32($hexes[1]+$hexes[0],16)
$month = [Convert]::ToInt32($hexes[3]+$hexes[2],16)
$day = [Convert]::ToInt32($hexes[7]+$hexes[6],16)
$hour = [Convert]::ToInt32($hexes[9]+$hexes[8],16)
$minute = [Convert]::ToInt32($hexes[11]+$hexes[10],16)
get-date ([datetime]"$year-$month-$day") -format "yyyy-MM-dd"
};Label="Created"},@{Expression={
$hexes = [System.BitConverter]::ToString($_.datelastconnected) -split '-'
$year = [Convert]::ToInt32($hexes[1]+$hexes[0],16)
$month = [Convert]::ToInt32($hexes[3]+$hexes[2],16)
$day = [Convert]::ToInt32($hexes[7]+$hexes[6],16)
$hour = [Convert]::ToInt32($hexes[9]+$hexes[8],16)
$minute = [Convert]::ToInt32($hexes[11]+$hexes[10],16)
get-date ([datetime]"$year-$month-$day") -format "yyyy-MM-dd"
};Label="Last connection"} | sort 'Last connection' -descending
cd 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles'
Bekijk netwerkverbindingen met tijdstempels (als Administrator uitvoeren)
Windows register
Een uitgebreide logging met betrekking tot draadloze verbindingen (vanaf Windows Vista):
Get-winevent Microsoft-Windows-WLAN-AutoConfig/Operational | FL
Ccleaner en andere antiforensic programma's kunnen deze gegevens niet verwijderen !
Windows register
Firewall instellingen
$fw = new-object -com hnetcfg.fwpolicy2
$fw.rules | out-gridview
Geïnstalleerde software
dir hklm:softwaremicrosoftwindowscurrentversionuninstall | foreach {gp $_.pspath} |
select pschildname, displayname, displayversion, installlocation, publisher, helplink,
Urlinfoabout | out-gridview
Filesystem
Blader door de bestanden in het bestandssysteem, inclusief verborgen bestanden:
dir -force -recurse
Voorbeeld: zoek alle jpeg afbeeldingen
dir -force -recurse | where {$_.name -match “jpg”}
Zoek alle bestanden waarin het woord politie voorkomt
dir . -recurse *.* | where {$_ |select-string "politie"}
Zoek nu met unicode encoding
dir . -recurse *.* | where {$_ |select-string -encoding unicode "politie"}
Wat is het verschil ?
Einde presentatie
Vragen ?

More Related Content

Similar to Presentatie powershell

Ict2 trm- werking internet
Ict2 trm- werking internetIct2 trm- werking internet
Ict2 trm- werking internetkaatversele
 
Oplijsting mogelijkheden open source
Oplijsting mogelijkheden open sourceOplijsting mogelijkheden open source
Oplijsting mogelijkheden open sourceguesta83c7d
 
oplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_sourceoplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_sourceguesta83c7d
 
V-ICT-OR SHOPT IT 2014
V-ICT-OR SHOPT IT 2014V-ICT-OR SHOPT IT 2014
V-ICT-OR SHOPT IT 2014V-ICT-OR
 
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...Avansa Mid- en Zuidwest
 
Nagios Open Source Monitoring
Nagios Open Source MonitoringNagios Open Source Monitoring
Nagios Open Source Monitoring247 Invest
 
Drupal7 Development
Drupal7 DevelopmentDrupal7 Development
Drupal7 DevelopmentHans Rossel
 
Kennismaking Met Puppet
Kennismaking Met PuppetKennismaking Met Puppet
Kennismaking Met Puppetwphaver
 
Website-tool: CMS of Framework
Website-tool: CMS of FrameworkWebsite-tool: CMS of Framework
Website-tool: CMS of FrameworkNils Breunese
 
MediaMosa Installatie & Configuratie
MediaMosa Installatie & ConfiguratieMediaMosa Installatie & Configuratie
MediaMosa Installatie & ConfiguratieMediaMosa
 
Lezing 23 November 2006 @ CapGemini
Lezing 23 November 2006 @  CapGeminiLezing 23 November 2006 @  CapGemini
Lezing 23 November 2006 @ CapGeminijaspervandermarel
 
Gutsy New Features
Gutsy New FeaturesGutsy New Features
Gutsy New Featuresguest341e20
 
Community Kick Off Slides
Community Kick Off SlidesCommunity Kick Off Slides
Community Kick Off SlidesWouterJansen
 

Similar to Presentatie powershell (19)

Ict2 trm- werking internet
Ict2 trm- werking internetIct2 trm- werking internet
Ict2 trm- werking internet
 
Oplijsting mogelijkheden open source
Oplijsting mogelijkheden open sourceOplijsting mogelijkheden open source
Oplijsting mogelijkheden open source
 
oplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_sourceoplijsting_mogelijkheden_open_source
oplijsting_mogelijkheden_open_source
 
V-ICT-OR SHOPT IT 2014
V-ICT-OR SHOPT IT 2014V-ICT-OR SHOPT IT 2014
V-ICT-OR SHOPT IT 2014
 
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
DigiPinguïns: pakketbeheer, softwarebronnen, source code compileren (Bernard...
 
DigiPinguïns: OwnCloud (Dag Geeraert)
DigiPinguïns: OwnCloud (Dag Geeraert)DigiPinguïns: OwnCloud (Dag Geeraert)
DigiPinguïns: OwnCloud (Dag Geeraert)
 
Nagios Open Source Monitoring
Nagios Open Source MonitoringNagios Open Source Monitoring
Nagios Open Source Monitoring
 
Drupal7 Development
Drupal7 DevelopmentDrupal7 Development
Drupal7 Development
 
DigiPinguïns: Bestandsbeheer op Linux
DigiPinguïns: Bestandsbeheer op LinuxDigiPinguïns: Bestandsbeheer op Linux
DigiPinguïns: Bestandsbeheer op Linux
 
Cv
CvCv
Cv
 
Bs 2 les 20110328
Bs 2   les 20110328Bs 2   les 20110328
Bs 2 les 20110328
 
Kennismaking Met Puppet
Kennismaking Met PuppetKennismaking Met Puppet
Kennismaking Met Puppet
 
Website-tool: CMS of Framework
Website-tool: CMS of FrameworkWebsite-tool: CMS of Framework
Website-tool: CMS of Framework
 
MediaMosa Installatie & Configuratie
MediaMosa Installatie & ConfiguratieMediaMosa Installatie & Configuratie
MediaMosa Installatie & Configuratie
 
Lezing 23 November 2006 @ CapGemini
Lezing 23 November 2006 @  CapGeminiLezing 23 November 2006 @  CapGemini
Lezing 23 November 2006 @ CapGemini
 
WordPress Security
WordPress SecurityWordPress Security
WordPress Security
 
Netwerken 4-3-serverdiensten
Netwerken   4-3-serverdienstenNetwerken   4-3-serverdiensten
Netwerken 4-3-serverdiensten
 
Gutsy New Features
Gutsy New FeaturesGutsy New Features
Gutsy New Features
 
Community Kick Off Slides
Community Kick Off SlidesCommunity Kick Off Slides
Community Kick Off Slides
 

Presentatie powershell

  • 1. PowerShell Onderwerpen Wat is PowerShell WMI: Windows Management Instrumentation Windows register Filesystem Services, processen en eventlogs
  • 2. Wat is PowerShell Windows PowerShell™ is een objectgeörienteerde shell- en scripttaal met directe toegang tot: ● .NET framework ● COM objecten ● Windows Management Instrumentation (WMI) ● Windows register ● Windows eventlogs ● Filesystem Met PowerShell kunnen taken worden uitgevoerd op zowel lokale als remote Windows systemen. PowerShell is standaard aanwezig in Windows 7 en Windows Server 2008. Voor oudere systemen kan PowerShell gratis worden gedownload.
  • 3. Processen en services Processen Get-Process | select ProcessName, Id, Cpu, Starttime gwmi win32_process -filter "name like '%powershell%'" gwmi win32_process -filter “processid = 3692” Services Get-Service gwmi win32_service -filter “name like '%w32time%'”
  • 4. Eventlogs Eventlogs Vanaf Windows Vista een uitbreiding van het aantal eventlogs: Get-WinEvent -listlog * Voorbeeld: Windows aan en uit get-winevent | where {$_.id -eq 6005} | fl get-winevent | where {$_.id -eq 6006} | fl Uitleg over de diverse codes is te vinden op www.eventid.net
  • 5. WMI WMI staat voor Windows Management Instrumentation. WMI is een database die op iedere Windows computer aanwezig is (sinds Windows NT). In deze database staat informatie over de computer zelf, zoals de hoeveelheid geheugen, het type videokaart, de laatste updates en welke software is geïnstalleerd. Vrijwel alle gegevens over hard- en software is terug te vinden in deze database. Database Get-wmiobject -list Informatie over de HDD Get-wmiobject win32_diskdrive | select partitions, deviceid, model, @{Expression={ [math]::truncate($_.size/1GB)};Label=”capacity (GB)”} Partitietabel Get-wmiobject win32_diskpartition | select name, diskindex, startingoffset, bootable, blocksize, numberofblocks, @{Expression={[math]::truncate($_.size/1GB)};Label=” size (GB)”} | FT -auto
  • 6. Windows register PowerShell heeft directe toegang tot registerhives als: HKEY_LOCAL_MACHINE HKEY_CURRENT_USER Voorbeeld: cd hklm: dir Interessante lokaties: HKLM:systemCurrentControlSetenum
  • 7. Windows register Voorbeeld Welke USB datadragers hebben in het systeem gezeten: cd hklm:systemcurrentcontrolsetenumusbstor dir Foreach ($i in dir | foreach {$_.pschildname}) {dir $i | gp | select @{Expression={ $_.psparentpath.substring($_.psparentpath.lastindexof(“”)+1)};Label=” Device“},FriendlyName}
  • 8. Windows register Met welke netwerken (bedraad / draadloos) heeft het systeem verbinding gehad: Interessante registersleutels (vanaf Windows Vista) zijn te vinden in HKLM:Systemcurrentcontrolsetservicestcpipparametersinterfaces HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles Bekijk details van netwerken: cd HKLM:Systemcurrentcontrolsetservicestcpipparametersinterfaces dir | gp
  • 9. Windows register dir | Get-ItemProperty | select @{Expression={$_.ProfileName};Label="SSID"}, @{Expression={ $hexes = [System.BitConverter]::ToString($_.datecreated) -split '-' $year = [Convert]::ToInt32($hexes[1]+$hexes[0],16) $month = [Convert]::ToInt32($hexes[3]+$hexes[2],16) $day = [Convert]::ToInt32($hexes[7]+$hexes[6],16) $hour = [Convert]::ToInt32($hexes[9]+$hexes[8],16) $minute = [Convert]::ToInt32($hexes[11]+$hexes[10],16) get-date ([datetime]"$year-$month-$day") -format "yyyy-MM-dd" };Label="Created"},@{Expression={ $hexes = [System.BitConverter]::ToString($_.datelastconnected) -split '-' $year = [Convert]::ToInt32($hexes[1]+$hexes[0],16) $month = [Convert]::ToInt32($hexes[3]+$hexes[2],16) $day = [Convert]::ToInt32($hexes[7]+$hexes[6],16) $hour = [Convert]::ToInt32($hexes[9]+$hexes[8],16) $minute = [Convert]::ToInt32($hexes[11]+$hexes[10],16) get-date ([datetime]"$year-$month-$day") -format "yyyy-MM-dd" };Label="Last connection"} | sort 'Last connection' -descending cd 'HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionNetworkListProfiles' Bekijk netwerkverbindingen met tijdstempels (als Administrator uitvoeren)
  • 10. Windows register Een uitgebreide logging met betrekking tot draadloze verbindingen (vanaf Windows Vista): Get-winevent Microsoft-Windows-WLAN-AutoConfig/Operational | FL Ccleaner en andere antiforensic programma's kunnen deze gegevens niet verwijderen !
  • 11. Windows register Firewall instellingen $fw = new-object -com hnetcfg.fwpolicy2 $fw.rules | out-gridview Geïnstalleerde software dir hklm:softwaremicrosoftwindowscurrentversionuninstall | foreach {gp $_.pspath} | select pschildname, displayname, displayversion, installlocation, publisher, helplink, Urlinfoabout | out-gridview
  • 12. Filesystem Blader door de bestanden in het bestandssysteem, inclusief verborgen bestanden: dir -force -recurse Voorbeeld: zoek alle jpeg afbeeldingen dir -force -recurse | where {$_.name -match “jpg”} Zoek alle bestanden waarin het woord politie voorkomt dir . -recurse *.* | where {$_ |select-string "politie"} Zoek nu met unicode encoding dir . -recurse *.* | where {$_ |select-string -encoding unicode "politie"} Wat is het verschil ?