Microsoft hasn’t exactly been quiet about the pending doom of the TechNet website. With the intention of eventually moving some of its functionality over to the Microsoft Tech Community website.
However, one of the things that the TechNet site hosted was the TechNet Gallery, a beautiful repository of community-made scripts, tools and even books! And I’m sure I don’t just speak for myself when I say that it’s been a wonderful help in both my field and others for newcomers and experts alike.
With the impending closure of the Gallery, Microsoft has urged everyone to backup their code and host it elsewhere before they do a “No Country for Old Men” and put it out of its misery.
Things like GitHub and the PowerShell Gallery are great replacements where appropriate, but they still rely on the original content creator to back up their content, change its format to the new platform and upload it somewhere else.
Thankfully the MVP community provides help! Greig Sheridan has made a guide on porting your stuff to MarkDown for GitHub and James Cussen has even gone a step further to create an awesome tool to automatically port everything across.
But what about the content creators that have moved on?
With TechNet having been around for almost 22 years, it’s a bit of a big ask to have everyone who contributed to the gallery come back and update old documentation to work on GitHub and like. Especially when a system like Git can seem a little daunting at first. Less the contributors that have moved on to other things, retired or even worse, may no longer be with us.
But, how do I keep all those tools I love and depend on then?
I mean sure, we can go download all the files in your particular product category, but that’s really tedious and what about all the documentation that goes with it?
Well, thankfully as I hinted to earlier. James Cussen has made a brilliant script that will automatically parse a single post, download all the attached assets and convert it to MarkDown.
But the thing is you need to manually stick every post’s URI into it and the TechNet RSS feed is broken, displaying a very unhelpful white page of death. So getting all the post URI’s is quite a pain.
Thus, I created this little script that will find all the relevant posts in your particular area of interest and pass it to James’ tool for processing.
Simply call it with your area of interest and it will scrape through all the pages. Find every post and then process it with James’s tool. Dumping each post as a subfolder of the current folder.
Note: I imagine this process is quite intensive to the old TechNet servers, additionally Google can get a bit antsy with the automated requests. So I have split the execution of the downloader up with some intentional delays in it. In saying that, if you are just after the “Lync” category you can download my backup of it here, rather than putting extra load on the TechNet boxes.
Download the script from the GitHub repo as well as James’ script from over here and place them in an empty folder.
Once you have done that, navigate to the TechNet Gallery, find the category you want to download and click it.
Once the page loads, take note of the “Root Category” property in the URL
The format changes from category to category, so for “Active Directory” its “activedirectory” but for “Backup and System Restore” it’s just “backup”…
Once you have that, head over to PowerShell and run the script with the category you wish to download. Make a cuppa and get comfy. This will take a while.
Wait a few hours and you will have a complete replica of your intended category.
The App-V category currently has an issue were I cant scrape the data when sorting by date. Thus the script doesn’t download anything.
For Enterprise Mobility & Security use -category “enterprisemobility%2Bsecurity”
There is currently a bug with James’s script and externally hosted images, these will fail if linked to via HTTP. (See this PR for the fix)
There is an issue with non-English characters getting mapped to a mess in the file structure. I’ve yet to look into this one.
Some post names cause issues with invalid filenames. I’ve been meaning to look into it and send James C a PR but that’s not super high on the list of tasks at the moment.
Lync category backup
If you’re just here for the whole Lync archive. Please don’t use my script to grab everything, I don’t want to stress the old servers any more than needed.
You can grab my copy here. (I’ll post this soon!)
As per usual all my stuff is over on GitHub and open source, so you can download, edit and even contribute to your hearts desire.