Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Windows 10 - Powershell (Установка драйверов)

Ответить
Настройки темы
PowerShell - Windows 10 - Powershell (Установка драйверов)

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Друзья. Этот форум меня не раз выручал, надеюсь и в этот раз подкинете решение.

Есть зоопарк компьютеров, ставлю w10, но дрова ставятся за частую не все или ставится стандартный драйвер который работает не так как надо (например видеодрайвер). Есть папка сетевая где собраны на все армы драйвера (формата INF)по моделям. Подскажите как можно с помощью PowerShell организовать автоматическую установку (или обновление) всех драйверов которые не установились или где версия драйвера типа "Стандартный видеодрайвер". Зоопарк очень большой, винда накатывается средствами Акрониса, клонированием.

Нашел такой вот скрипт, откатал его - работает на 5+, но он высасывает драйвера из интернета, а хотелось бы дополнительно чтобы он брал источник из моей сетевой папки с драйверами.


Код: Выделить весь код
#search and list all missing Drivers

#set Window Title 
$host.ui.RawUI
$host.ui.RawUI.WindowTitle = "Driver Updater by harrymc"


Write-Host('adding update source...') -Fore Green
$UpdateSvc = New-Object -ComObject Microsoft.Update.ServiceManager
$UpdateSvc.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")

$Session = New-Object -ComObject Microsoft.Update.Session
$Searcher = $Session.CreateUpdateSearcher() 

$Searcher.ServiceID = '7971f918-a847-4430-9279-4a52d1efe18d'
$Searcher.SearchScope =  1 # MachineOnly
$Searcher.ServerSelection = 3 # Third Party

$Criteria = "IsInstalled=0 and Type='Driver' and IsHidden=0"
Write-Host('Searching Driver-Updates...') -Fore Green  
$SearchResult = $Searcher.Search($Criteria)
$SearchResult|ft -a title
$Updates = $SearchResult.Updates

#Show available Drivers
Write-Host('Showing Drivers') -Fore Green
$updates|fl

$Updates | select Title, DriverModel, DriverVerDate, Driverclass, DriverManufacturer | fl

#Download the Drivers from Microsoft

$UpdatesToDownload = New-Object -Com Microsoft.Update.UpdateColl
$updates | % { $UpdatesToDownload.Add($_) | out-null }
Write-Host('Downloading Drivers...')  -Fore Green  
$UpdateSession = New-Object -Com Microsoft.Update.Session
$Downloader = $UpdateSession.CreateUpdateDownloader()
$Downloader.Updates = $UpdatesToDownload
$Downloader.Download()

#Check if the Drivers are all downloaded and trigger the Installation

$UpdatesToInstall = New-Object -Com Microsoft.Update.UpdateColl
$updates | % { if($_.IsDownloaded) { $UpdatesToInstall.Add($_) | out-null } }

Write-Host('Installing Drivers...')  -Fore Green  
$Installer = $UpdateSession.CreateUpdateInstaller()
$Installer.Updates = $UpdatesToInstall
$InstallationResult = $Installer.Install()
if($InstallationResult.RebootRequired) {  
Write-Host('Reboot required! please reboot now..') -Fore Red  
} else { Write-Host('Done..') -Fore Green }

Write-Host('cleaning up sources')
$updateSvc.Services | ? { $_.IsDefaultAUService -eq $false -and $_.ServiceID -eq "7971f918-a847-4430-9279-4a52d1efe18d" } | % { $UpdateSvc.RemoveService($_.ServiceID) }

Write-Host('Press any key to exit ...') -Fore Yellow
$null = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

Отправлено: 07:34, 06-06-2019

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата invademan:
винда накатывается средствами Акрониса »
MDT или SCCM еще не придумали, жаль...
Я бы не рекомендовал цеплять драйвера из "папки с драйверами", как и раскатывать акронисом тачки. и если по второму пункту возражения уровня "нет отдельной тачки чтобы раскатить MDT" могу принять (хотя и на это можно было бы выделить машину из того же зоопарка и потратить день на его настройку), то по первому есть сказать вот что: откуда может быть 100% уверенность что драйвера находящиеся в папке действительно являются последними актуальными?

Отправлено: 13:41, 06-06-2019 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата invademan:
такой вот скрипт, откатал его - работает на 5+, но он высасывает драйвера из интернета, а хотелось бы дополнительно чтобы он брал источник из моей сетевой папки с драйверами. »
это делает WSUS - скачивает драйверы с сайта МС, складывает в папку, выдаёт нуждающимся хостам

Отправлено: 15:24, 06-06-2019 | #3


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


а если по существу вопроса?

Отправлено: 07:09, 07-06-2019 | #4


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


invademan, а по существу вопроса, вы не понимаете о чём пишите - приведённый скрипт и ваша сетевая папка не имеют ничего общего.

Отправлено: 14:10, 08-06-2019 | #5


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


В таких случаях хорошо помогает WDS вместо Акрониса - туда можно все эти драйверы добавить.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 11:36, 10-06-2019 | #6


Старожил


Сообщения: 427
Благодарности: 72

Профиль | Отправить PM | Цитировать


есть много программ, которые обновляют драйвера на компьютере из интернета.
среди бесплатных https://kcsoftwares.com/?dumo

скрипт который вы указали, берет драйвера из WSUS microsoft
установите локальный WSUS он будет брать драйвера из локальной базы, а не скачивать из инета

Отправлено: 14:53, 10-06-2019 | #7


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата invademan:
Есть папка сетевая где собраны на все армы драйвера (формата INF)по моделям »
тоже озадачился этой темой. всем, кто советует разворачивать какие-то там системы и прочую лабуду советую отправиться в пешее путешествие.

вот порядок действий что я нашел (пользуемся PowerShell под Админом):
1) сбор драйверов с эталонной машины:

Код: Выделить весь код
$drivers = Export-WindowsDriver -Online -Destination C:\ps\all\drv
$drivers | ft ProviderName, ClassName, Date, Version -auto | Out-File C:\ps\all\drivers.txt
соответственно указываем свой путь, куда будут складываться драйверы. Потом чистим его от ненужных нам, например я оставил видеодрайверы, звук, но удалил MS XPS и Adobe PDF драйверы. Кстати drivers.txt поможет с описью содержимого, а для опознания листайте .inf

2) в папку с драйверами в корень кладем файлик например instdrv.ps1 с содержимым

Код: Выделить весь код
Get-ChildItem -File ".\" -Recurse -Filter "*.inf" | ForEach-Object { PNPUtil.exe -i -a $_.FullName}
Всё. Можно такое таскать на флешке и ставить драйверы по необходимости. При остром желании можно написать PS скрипт с меню, где указать конкретные драйверы. Лично я такое использую для 400 ПК в университете, никакие админы не будут мне поднимать инфраструктуру, так что я сам себе оптимизатор.

Отправлено: 10:04, 21-11-2019 | #8


Старожил


Сообщения: 235
Благодарности: 8

Профиль | Отправить PM | Цитировать


Цитата BelaLugoci:
1) сбор драйверов с эталонной машины »
Здравствуйте, BelaLugoci. Правильно ли я понимаю что пунктом один я могу со своего компьютера скачать все драйвера и потом, в случае переустановки Windows, пунктом два смогу установить все скаченные драйвера?
и с программами так можно сделать(установить по списку)?

Отправлено: 20:03, 21-11-2019 | #9


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


BelaLugoci, пока что я вижу, что это вы в бесконечном пешем путешествии бегаете с флешкой между 400 ПК

Отправлено: 13:42, 22-11-2019 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Windows 10 - Powershell (Установка драйверов)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Драйвер - Использование старых драйверов в Windows 10 EgorRykov Microsoft Windows 10 0 07-05-2019 23:47
Обновление Windows 10 KB3176934 лишает работоспособности PowerShell OSZone News Новости и события Microsoft 0 25-08-2016 11:30
[решено] Установка драйверов после установки Windows 7 liks Хочу все знать 11 17-08-2012 00:21
автоматическая Установка драйверов Windows xp CENTR77 Автоматическая установка Windows 2000/XP/2003 0 11-12-2010 19:06
[решено] Установка Драйверов на Windows Vista Vovic Поиск драйверов, прошивок и руководств 4 14-07-2008 22:53




 
Переход