# encoding: ascii
# api: powershell
# title: drivers list
# description: Fixed
# version: 0.1
# type: script
# author: greg zakharov
# license: CC0
# x-poshcode-id: 5121
# x-archived: 2015-01-31T20:31:36
# x-published: 2015-04-28T05:40:00
#
#
#requires -version 2.0
gp -ea 0 HKLM:\SYSTEM\CurrentControlSet\Services\* | ? {
$_.Type -eq 1 -and $_.ImagePath -ne $null
} | select @{
N='Name';E={$_.PSChildName}
}, @{
N='Path';E={
$$ = $_.ImagePath.ToLower()
$pat = Split-Path -Leaf ($dir = [Environment]::SystemDirectory)
if ($$.StartsWith('\')) {
$$ = $$.Substring((($i = $$.IndexOf('\', 2)) + 1), ($$.Length - $i - 1))
if (Test-Path $$) { return $$ }
}
$script:itm = [Regex]::Replace($$, $pat, $dir)
$itm
}
}, @{
N='Description';E={
$script:des = (gci $itm).VersionInfo
$des.FileDescription
}
}, @{
N='Publisher';E={$des.CompanyName}
}, @{
N='Version';E={$des.ProductVersion}
}, @{
N='Error Control';E={'0x{0:X8}' -f $_.ErrorControl}
}, @{
N='Launch Type';E={
switch ($_.Start) {
0 { 'Ring0' } #low level driver
1 { 'OnBoot' } #load and init after kernel
2 { 'Auto' } #SCM loads driver automatically
3 { 'Manual' } #SCM loads driver when it need
4 { 'Disabled' }
}
}
} | Out-GridView -Title Drivers