Hey fellow SpiceHeads,
Microsoft is giving away eBooks! Get yours today! SO many great eBooks to choose from 
Download your free Microsoft eBooks (Direct from Microsoft) HERE!
-Josh/WafflesMcDuff
46 Spice ups
inkmaster
(InkMaster)
2
I look forward to this every year and usually download all of them. Even though I don’t read them all, they are nice to have for reference.
Wow, thanks for the link. I’ll definately be looking through that list.

1 Spice up
pgauldy
(pgauldy)
5
Good find, cheers for sharing
Thanks. Browsing them now.
kennihart
(KenNihart)
7
Thanks! Pulled them all with the handy little powershell script included at the bottom of the page.
1 Spice up
Thanks! I love it when they do this!
jimender2
(jimender2)
9
The powershell script works but was a little slow for me. I ran DownThemAll! through firefox and it worked well. Both were slow but that it because there are so many files.
Thanks for sharing. I’ve just copped a load of PowerShell things.
bob-13
(Bob_13)
13
I… cheated. I took his powershell script to download all:
###############################################################
# Eric Ligmans Amazing Free Microsoft eBook Giveaway
# https://blogs.msdn.microsoft.com/mssmallbiz/2017/07/11/largest-free-microsoft-ebook-giveaway-im-giving-away-millions-of-free-microsoft-ebooks-again-including-windows-10-office-365-office-2016-power-bi-azure-windows-8-1-office-2013-sharepo/
# Link to download list of eBooks
# http://ligman.me/2sZVmcG
# Thanks David Crosby for the template (https://social.technet.microsoft.com/profile/david%20crosby/)
###############################################################
$dest = "C:\Downloads\eBooks\"
# Download the source list of books
$downLoadList = "http://ligman.me/2sZVmcG"
$bookList = Invoke-WebRequest $downLoadList
# Convert the list to an array
[string[]]$books = ""
$books = $bookList.Content.Split("`n")
# Remove the first line - it's not a book
$books = $books[1..($books.Length -1)]
$books # Here's the list
# Download the books
foreach ($book in $books) {
$hdr = Invoke-WebRequest $book -Method Head
$title = $hdr.BaseResponse.ResponseUri.Segments[-1]
$title = [uri]::UnescapeDataString($title)
$saveTo = $dest + $title
Invoke-WebRequest $book -OutFile $saveTo
}
And added a file type Filter…
###############################################################
# Eric Ligmans Amazing Free Microsoft eBook Giveaway
# https://blogs.msdn.microsoft.com/mssmallbiz/2017/07/11/largest-free-microsoft-ebook-giveaway-im-giving-away-millions-of-free-microsoft-ebooks-again-including-windows-10-office-365-office-2016-power-bi-azure-windows-8-1-office-2013-sharepo/
# Link to download list of eBooks
# http://ligman.me/2sZVmcG
# Thanks David Crosby for the template (https://social.technet.microsoft.com/profile/david%20crosby/)
###############################################################
CLS
$dest = "C:\Downloads\New_eBooks\"
# Download the source list of books
$downLoadList = "http://ligman.me/2sZVmcG"
$bookList = Invoke-WebRequest $downLoadList
# Convert the list to an array
[string[]]$books = ""
$books = $bookList.Content.Split("`n")
# Remove the first line - it's not a book
$books = $books[1..($books.Length -1)]
$books # Here's the list
# Adding a file type filter
$FileType = "PDF" # by text
# $FileType = Read-Host -Prompt 'Input the file type to download' # to get File Type dynamically
$LenFileType= $FileType.Length
# Download the books
foreach ($book in $books) {
$hdr = Invoke-WebRequest $book -Method Head
$title = $hdr.BaseResponse.ResponseUri.Segments[-1]
$title = [uri]::UnescapeDataString($title)
$saveTo = $dest + $title
# Filter for the FileType you want
$Test = $title.Substring($title.Length -$LenFileType)
If ($Test -eq $FileType) {
Invoke-WebRequest $book -OutFile $saveTo
}
}
so I only get PDF (in example)
But… Thanks for the post more reading/resource material.
2 Spice ups