forked from iDescriptor/iDescriptor
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall-apple-drivers.ps1
More file actions
68 lines (56 loc) · 3.68 KB
/
install-apple-drivers.ps1
File metadata and controls
68 lines (56 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
## Taken from https://github.com/NelloKudo/Apple-Mobile-Drivers-Installer
## Apple USB and Mobile Device Ethernet drivers installer!
## Please report any issues at GitHub: https://github.com/NelloKudo/Apple-Mobile-Drivers-Installer
## Download links for Apple USB Drivers and Apple Mobile Ethernet USB Drivers respectively.
## All of these are downloaded from Microsoft's Update Catalog, which you can browse yourself at here: https://www.catalog.update.microsoft.com/
$AppleDri1 = "https://catalog.s.download.windowsupdate.com/d/msdownload/update/driver/drvs/2020/11/01d96dfd-2f6f-46f7-8bc3-fd82088996d2_a31ff7000e504855b3fa124bf27b3fe5bc4d0893.cab"
$AppleDri2 = "https://catalog.s.download.windowsupdate.com/c/msdownload/update/driver/drvs/2017/11/netaapl_7503681835e08ce761c52858949731761e1fa5a1.cab"
$AppleITunesLink = "https://www.apple.com/itunes/download/win64"
Write-Host ""
Write-Host -ForegroundColor Cyan "Welcome to Apple USB and Mobile Device Ethernet drivers installer!!"
Write-Host ""
## Checking if the script is being run as admin..
if (-not ([Security.Principal.WindowsIdentity]::GetCurrent().Groups -contains 'S-1-5-32-544')) {
Write-Host -ForegroundColor Yellow "This script requires administrative privileges!"
Write-Host -ForegroundColor Yellow "Please run the script as an administrator if you want to install drivers."
pause
exit 1
}
## Preparing the system to actually download drivers..
$destinationFolder = [System.IO.Path]::Combine($env:TEMP, "AppleDriTemp")
if (-not (Test-Path $destinationFolder)) {
New-Item -ItemType Directory -Path $destinationFolder | Out-Null
}
try {
$currentPath = $PWD.Path
Write-Host -ForegroundColor Yellow "Downloading Apple iTunes and installing AppleMobileDeviceSupport64.msi.."
Write-Host -ForegroundColor Yellow "(It might take a while! Script is not frozen!)"
(New-Object System.Net.WebClient).DownloadFile($AppleITunesLink, [System.IO.Path]::Combine($destinationFolder, "iTunes64Setup.exe"))
cd "$destinationFolder"
Start-Process -FilePath "$destinationFolder\iTunes64Setup.exe" -ArgumentList "/extract" -Wait
cd "$currentPath"
Start-Process -FilePath "$destinationFolder\AppleMobileDeviceSupport64.msi" -ArgumentList "/qn" -Wait
Write-Host -ForegroundColor Yellow "Downloading Apple USB and Mobile Device Ethernet drivers from Microsoft..."
Invoke-WebRequest -Uri $AppleDri1 -OutFile ([System.IO.Path]::Combine($destinationFolder, "AppleUSB-486.0.0.0-driv.cab"))
Invoke-WebRequest -Uri $AppleDri2 -OutFile ([System.IO.Path]::Combine($destinationFolder, "AppleNet-1.8.5.1-driv.cab"))
Write-Host -ForegroundColor Yellow "Extracting drivers..."
& expand.exe -F:* "$destinationFolder\AppleUSB-486.0.0.0-driv.cab" "$destinationFolder" >$null 2>&1
& expand.exe -F:* "$destinationFolder\AppleNet-1.8.5.1-driv.cab" "$destinationFolder" >$null 2>&1
## Installing drivers..
Write-Host -ForegroundColor Yellow "Installing Apple USB and Mobile Device Ethernet drivers!"
Write-Host -ForegroundColor Yellow "If any of your peripherals stop working for a few seconds that's due to Apple stuff installing."
Write-Host ""
Get-ChildItem -Path "$destinationFolder\*.inf" | ForEach-Object {
pnputil /add-driver $_.FullName /install
Write-Host ""
Write-Host -ForegroundColor Yellow "Driver installed.."
Write-Host ""
}
## Cleaning..
Remove-Item -Path $destinationFolder -Recurse -Force
} catch {
Write-Host -ForegroundColor Red "Failed to complete installation. Error: $_"
}
Write-Host ""
Write-Host -ForegroundColor Cyan "Installation complete! Enjoy your Apple devices!!"
Write-Host -ForegroundColor Yellow "(If devices are still not working, a reboot might be needed!!)"