I을 는 설치된 하드웨어의 GUID와 드라이버 파일의 GUID를 비교하기 위해 만들어진 Invoke-InstallDrivers (Link to Github)라는 함수를 작성했습니다. 일치하지 않으면 건너 뛸 일치 항목이있는 경우 설치합니다. 기본적으로 그 기능을 조금 변경하여 찾고있는 데이터를 찾았지만 지정한 위치의 .INF 파일 중 일부에 "제조업체"값이 포함되어 있지 않은 것을 발견했습니다. re는 가치가 없다. 마지막으로, 테스트 워크 스테이션의 해당 경로에있는 inf 파일에는 DeviceID 필드가 표시되지 않으므로 ClassGUID는 사용자가 언급 한 것으로 가정합니다.
Get-DriverInfo -Source "C:\Windows\System32\DriverStore\FileRepository"
당신은 당신의 취향에 서식 출력을 조정할 필요가 있습니다하지만이 문제를 해결하는 올바른 경로에 당신을 넣어해야합니다
Function Get-DriverInfo {
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[String[]] $Source
)
$Drivers = Get-ChildItem -Path "$Source\*" -Recurse | Where {$_.Extension -eq ".inf"} | Select -ExpandProperty FullName
Foreach ($Driver in $Drivers)
{
Write-Output "Processing File: $Driver"
$GUID = (Get-Content -Path "$Driver" | Select-String "ClassGuid").Line.Split('=')[-1].Split(' ').Split(';')
$Version = (Get-Content -Path "$Driver" | Select-String "DriverVer").Line.Split('=')[-1].Split(' ').Split(';')
if ((Get-Content -Path "$Driver" | Select-String "MfgName") -eq $null)
{
$Manufacturer = "No Manufactuer Listed in INF"
}
ELSE
{
$Manufacturer = (Get-Content -Path "$Driver" | Select-String "MfgName").Line.Split('=')[-1].Split(' ').Split(';')
}
Write-Output "$Manufacturer, $Version, $GUID"
}
}
을 실행하면 위의 기능을 사용할 수 있습니다.
편집 I 출력이 어떻게 보일까 추가 할 생각은, 첫 번째 부분은 (경로가 읽기 쉽도록 단축되었다) 제조 업체없이 제조 업체 및 기타 쇼와 INF를 보여줍니다
PS C:\> Get-DriverInfo -Source "C:\Windows\System32\DriverStore\FileRepository"
Processing File: C:\Windows\System32\DriverStore\FileRepository\...\bcbtumsLD.inf
"Broadcom", 09/25/2013,6.5.1.4800, {e0cbf06c-cd8b-4647-bb8a-263b43f0f974}
Processing File: C:\Windows\System32\DriverStore\FileRepositor\...\bcmhidnossr.inf
No Manufactuer Listed in INF, 03/28/2013,1.0.0.101, {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
희망이 도움이!
쿨하지만 적합하지 않습니다. Model = "HP Photosmart 2570"또는 "HP Color LaserJet 2820"(걱정하지 마세요) DriverVer = "제조업체 ="HP ", 모델 ="HP Photosmart 2570 " 6.1.7600.16385 " –
당신이 할 수없는 것을 요구하고있는 것처럼 들릴 수 있습니다. 위의 출력에 나와있는 버전과 제조업체 이외에는 다른 것을 선택할 수 없을 것입니다. 마지막으로 모델은 일반적으로 드라이버에 없습니다. 드라이버가 광범위한 하드웨어 세트에 적용 할 수있는 설치 파일 (inf). inf 파일을 notepad ++ 또는 비슷한 정보로 열 수 있습니다. 거기에없는 정보를 얻으십시오. –
정확합니다! * .inf의 모든 모델이 필요합니다. 결국 제조업체, 가능한 모든 모델 및 드라이버 버전을 나열하는 테이블을 만듭니다. –