iNNOKENTIY21
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Обновил немного AsusPDDrivers.psm1 добавлен метод: [PSCustomObject] NotContains([PSCustomObject] $PreviousFiles). В вызывающем коде, теперь можно делать [PSCustomObject] $New = $AsusPDDrivers.NotContains($Previous), как то так Код: using module .\AsusPDDrivers.psm1 # Название материнской платы должно совпадать с названием на странице МП: # "https://www.asus.com/us/Motherboards/ROG-STRIX-Z390-E-GAMING/HelpDesk_Download" $MB = "ROG STRIX Z390-E GAMING" $OS = [OS]::Windows_10_64 $FullName = Join-Path -Path $PSScriptRoot -ChildPath "AsusPDDrivers.xml" $AsusPDDrivers = [AsusPDDrivers]::new($OS, $MB) if (Test-Path -LiteralPath $FullName) { [PSCustomObject] $Previous = Import-Clixml -LiteralPath $FullName [PSCustomObject] $New = $AsusPDDrivers.NotContains($Previous) if ($New) { foreach ($item in $New) { [uri] $Uri = [uri]::new($item.DownloadUrl.Global) [string] $Name = $Uri.Segments[$Uri.Segments.Count - 1] $item $Name # bla-bla-bla #Invoke-WebRequest -Uri $Uri -OutFile $Name } } else { Write-Host "No Updates" } } $AsusPDDrivers.DriverTools.Files | Export-Clixml -LiteralPath $FullName -Encoding Unicode -Force | Как использовать в консоли PowerShell, последовательно: #Использовать модуль Код: using module "К:\Файлу\Путь\AsusPDDrivers\AsusPDDrivers.psm1" | #Создать объект и получить данные со страницы драйверов и утилит, для последующего доступа к данным Код: $AsusPDDrivers = [AsusPDDrivers]::new([OS]::Windows_10_64, "ROG STRIX Z390-E GAMING") | #Получить имена секций Код: $AsusPDDrivers.GetSectionNames() | #Получить данные о последнем файле в секции BIOS Код: $AsusPDDrivers.GetLastInSection("BIOS") | #Получить данные о последних файлах из всех секций Код: $AsusPDDrivers.GetLatest() | Format-Table Title, FileSize, ReleaseDate | |