|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Невозможно вызвать метод для выражения со значением NULL |
|
|
PowerShell - [решено] Невозможно вызвать метод для выражения со значением NULL
|
|
Новый участник Сообщения: 10 |
Скрипт
$data = & dism /online /get-drivers /format:table | select -Skip 12
$Headers = @( ($data | select -First 1).ToString().Split('|') | %{$_.Trim()} )
$HashTable = $data | select -Skip 2 |
ConvertFrom-Csv -Delimiter '|' -Header $Headers |
select @{n='FileName';e={$_."$($Headers[1])"}},
@{n='Class';e={$_."$($Headers[3])"}},
@{n='Vendor';e={$_."$($Headers[4])"}},
@{n='Date';e={[datetime]::Parse($_."$($Headers[5])")}},
@{n='Version';e={$_."$($Headers[6])"}}
Write-Host "All installed third-party drivers"
$HashTable | sort Filename | ft
Write-Host "Different versions"
$last = ''
$NotUnique = @()
foreach ( $Dr in $($HashTable | sort Filename) ) {
if ($Dr.FileName -eq $last ) { $NotUnique += $Dr }
$last = $Dr.FileName
}
$NotUnique | sort FileName | ft
Write-Host "Outdated drivers"
$list = $NotUnique | select -ExpandProperty FileName -Unique
$ToDel = @()
foreach ( $Dr in $list ) {
Write-Host "Duplicate found"
$sel = $HashTable | where { $_.FileName -eq $Dr } | sort date -Descending | select -Skip 1
$sel | ft
$ToDel += $sel
}
Write-Host "Drivers to remove"
$ToDel | ft
foreach ( $item in $ToDel ) {
$Name = $($item.Name).Trim()
Write-Host "deleting $Name"
Write-Host "pnputil.exe -d $Name"
Invoke-Expression -Command "pnputil.exe -d $Name"
}
Имеется скрипт удаления старых драйверов. Функция удаления почему-то не "очень удаляет", выдавая |
|
|
Отправлено: 16:48, 18-07-2017 |
|
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать $item.FileName.Trim() - должно быть FileName, вместо Name,т.к. Name - отсутствует.
|
|
Отправлено: 17:04, 18-07-2017 | #2 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| CMD/BAT - Регулярные выражения для образки URL | ntro123 | Скриптовые языки администрирования Windows | 4 | 22-02-2014 21:59 | |
| [решено] Указание data = null для MySQL с использованием php | cibin | Вебмастеру | 3 | 08-07-2012 16:48 | |
| [решено] RunAs, как вызвать msgbox для ввода пароля? | HFShak | AutoIt | 2 | 17-01-2012 12:29 | |
| CMD/BAT - Узнать версию файла и сравнить со значением | Fresh96 | Скриптовые языки администрирования Windows | 3 | 10-11-2011 08:34 | |
| [решено] Как установить Resizing метод для StatusBar? | beve | AutoIt | 1 | 29-09-2009 16:14 | |
|