Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
# Показ драйверов в системе
[CmdletBinding(DefaultParameterSetName)]
param (
    [Parameter(ParameterSetName = "ViewGroup")] [switch] $ViewGroup, # сгруппированные по имени файла
    [Parameter(ParameterSetName = "ViewMoreOne")] [switch] $ViewMoreOne, # для которых есть более одной версии
    [Parameter(ParameterSetName = "ViewOldVersion")] [switch] $ViewOldVersion, # устаревшие версии
    [Parameter(ParameterSetName = "ViewOldDate")] [switch] $ViewOldDate, # устаревшей датой
    [Parameter(ParameterSetName = "Table")] [switch] $Table # все, в виде таблицы, с полями IsOldVersion и IsOldDate
)
 
$Drivers = Get-WindowsDriver -Online
$Grouped = $Drivers | Group-Object -Property { ([IO.FileInfo] $_.OriginalFileName).Name }
if ($ViewGroup) { $Grouped ; return }
$MoreOne = $Grouped | Where-Object -Property Count -GT 1
if ($ViewMoreOne) { $MoreOne ; return }
$OldVers = $MoreOne | ForEach-Object -Process { $_.Group | Sort-Object -Property { [Version] $_.Version } | Select-Object -SkipLast 1 }
if ($ViewOldVersion) { $OldVers ; return }
$OldDate = $MoreOne | ForEach-Object -Process { $_.Group | Sort-Object -Property { $_.Date } | Select-Object -SkipLast 1 }
if ($ViewOldDate) { $OldDate ; return }
 
foreach ($item in $Drivers) {
    if ($item -in $OldVers) {
        $item | Add-Member -MemberType NoteProperty -Name IsOldVersion -Value $true
    } else {
        $item | Add-Member -MemberType NoteProperty -Name IsOldVersion -Value $false
    }
}
 
foreach ($item in $Drivers) {
    if ($item -in $OldDate) {
        $item | Add-Member -MemberType NoteProperty -Name IsOldDate -Value $true
    } else {
        $item | Add-Member -MemberType NoteProperty -Name IsOldDate -Value $false
    }
}
 
if ($Table) {
    $Drivers |
    Sort-Object -Property ClassName, ProviderName, Date |
    Format-Table -Property Driver, CatalogFile, ClassDescription, ProviderName, Date, Version, BootCritical, IsOldVersion, IsOldDate
    return
}
 
$Drivers

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 16:31 26-08-2020
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru