Hey fellow SpiceHeads,

Microsoft is giving away eBooks! Get yours today! SO many great eBooks to choose from :slight_smile:

Download your free Microsoft eBooks (Direct from Microsoft) HERE!

-Josh/WafflesMcDuff

46 Spice ups

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.

datt.jpg

1 Spice up

Thanks!

Good find, cheers for sharing

Thanks. Browsing them now.

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!

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.

Thanks for the heads up.

Thanks for the post!

1 Spice up

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

Yayyyy