PowerShell - Установка .CAB - PullRequest
       1

PowerShell - Установка .CAB

0 голосов
/ 29 апреля 2020

Чтобы узнать, смогу ли я, я хотел получить модель с компьютера, скопировать CAB-файл из одной папки в другую, развернуть его и затем установить. Кажется, все работает ... ОК в точку.

Я получаю пару ошибок при его расширении, и при попытке установить его не удается. Он останавливается, потому что он не может найти путь ... не существует - только он действительно существует.

У меня нет идей по этому поводу - у кого-нибудь есть какие-то инсайты?

$model = (Get-WmiObject -Class:Win32_ComputerSystem).Model

#Break model down into two parts - need $ModNum only to find appropriate .CAB
$string = $model
$ModName = $string.split(" ")[0]
$ModNum = $string.split(" ")[1]

#Location/Destination of .CAB found with $ModNum
$SourceFolder = "\\SOMETHING\SOMETHING"
$TargetFolder = "C:\Drivers"

#Test to see if Drivers folder exists - creates one if missing
If(!(test-path $TargetFolder))
{
      New-Item -ItemType Directory -Force -Path $TargetFolder
}

#Copy .CAB file
Get-ChildItem $SourceFolder -Recurse -filter "$ModNum*.CAB" | Copy-Item -Destination $TargetFolder

#Create "cab" folder within $TargetFolder
$cabfolder = "C:\Drivers\cab"
If(!(test-path $cabfolder))
{
      New-Item -ItemType Directory -Force -Path $cabFolder
}
<#
#TESTING_TESTING_TESTING

#Expanding mostly works - throws a couple of errors

#Expand .CAB file
Set-Location -Path "C:\Drivers"
cmd.exe /c "C:\Windows\System32\expand.exe" -F:* "$ModNum*.CAB" C:\Drivers\cab

#Installation fails - "Cannot find path 'C:\Drivers\cab\win10\' because it does not exist."

#Install all .INF files
Get-ChildItem "C:\Drivers\cab\$ModNum\win10\x64" -Recurse -Filter "*.inf" | ForEach-Object { PNPUtil.exe /add-driver $_.FullName /install } 




#>

Да, я Я уверен, что это могло бы быть намного лучше, или я мог бы использовать WSUS или что-то - я просто хочу знать, смогу ли я и если да, то как.

Спасибо за ваше время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...