Get a Windows 10 Activation Ticket

The clock is ticking before the Windows 10 free upgrade ends on July 29th.  If you are still on Windows 7/8.1 and don’t want to upgrade by July 29th, there’s still hope!

See the following thread to save your Windows 10 activation ticket/token:

https://www.reddit.com/r/Windows10/comments/3i93mp/no_need_for_a_full_upgrade_to_install_10_from/

  • Soli Deo Gloria

Copying Files to Multiple Locations At the Same Time

Need to copy a set of files or folders to a bunch of different locations?  Try MultiRobo.  This is a GUI and multi-threaded version of robocopy.  You can even save profiles so if you have copy the same set of files periodically to the same locations, you just open the profile and click Run and away it goes!

Great for copying updated WIMs with MDT.

-Soli Deo Gloria

Powershell: Delete an Icon from All User Profiles

Started to learn Powershell recently and already found something really neat.  I’m working on deploying Smartdraw 2016 silently and it loves to put an icon on the desktop of the user that it installing the program, not in C:\users\public\desktop where it belongs.  Now, with SCCM, this use to be very tricky, because when running installs they run under the SYSTEM account and not as the logged in user and the native DEL /S command within the native CLI will do it, however, there’s no way to specify just one folder to delete from: it will search all folders under all of the user profiles.

Based on a tip from https://www.sapien.com/blog/2014/10/16/delete-desktop-icons-a-windows-powershell-tip/, we can do this instead:

Remove-Item "C:\users\*\Desktop\smartdraw ci.lnk"

which basically just searches the desktop folder of each user profile instead of all folders in each profile and deletes the now defunct Smartdraw CI icon from each desktop folder.

And now instead of looking for the uninstall productcode string to feed to MSIEXEC /x to remove Smartdraw CI: the PowerShell App Deployment Toolkit includes this nifty cmdlet do all of the heavy leaving all in one line:

Remove-MSIApplications -Name 'Smartdraw'

  • Soli Deo Gloria

Missing Drivers

Missing drivers are the bane of every tech, but I have two solutions for you and they are both free!  The first one is called Driver Solution Pack. The second one is Snappy Driver Installer.  The cool thing with SDI is that you can set a filter to “drivers not installed”, then you can extract those to a folder and import those into your deployment solution such as MDT for each make/model you have.

Don’t forget about SIV or the System Information Viewer…great program to find information on devices that are missing drivers.

  • Soli Deo Gloria

New Web Host and Blog Format

You might have noticed a change in the blog formatting recently.  That’s because I went to update one of my older postings and was getting a 403 error message.  Eleven2 was my old web host which bought out Sharkspace and to be quite honest: they were a pain in the rear end. Periodically, they were blacklisting my IP address for logging in too many times forcing me to contact their tech support to unblock me.  I moved everything over to Hawkhost.

Looking at my web site: I realized that I needed to take down much of what was there since it’s mostly stuff I wrote and used in the Windows XP era.  In it’s place is a simple place holder and this blog is now the main feature of my web site.

-Soli Deo Gloria

PDQDeploy: Installing Software Remotely and Silently

While Microsoft SCCM is nice for deploying software, sometimes you just need a quick and dirty solution for installing simple apps, such as installing Google Chrome, remotely and silently.   PDQDeploy comes to the rescue for this.  There are free and pro versions of the software.  The free version doesn’t include multi-step conditionals or retry-until-online operations, but is otherwise fully functional.

It’s so mind numblingly simple too…make a new package, point it to the MSI file, it figures out the command parameters to use itself and then you click save.  That’s it.  You can then target specific computers directly or use a TXT file of computer names.

For programs that are not MSI based: Google’s search engine comes to the rescue for us. Internet Explorer 11 upgrade?  Sure, here you go: IE11-Windows6.1-x64-en-us.exe /quiet /norestart /update-no.  You can even get around the multi-step conditional limitation by creating your own VBScript or Powershell script.

  • Soli Deo Gloria

Adding Fonts As Non-Admin

I’ve been over the Internet many times over trying to find a free solution to run certain programs as administrator without giving the end user full blown administrator rights.  An example of this is adding fonts.  This task requires administrator rights to do…but do I really need to give the end user full blown admin rights to add fonts?

The answer is no.  Meet: AutoIT.  This is free solution that includes a nifty RunAs command.  As an example we can do this:

RunAs(“srvaccount”, “your_domain”, “Pa$$W0RD”, 4, “C:fontsnexusfont.exe”)

Then we can compile that into a nice little EXE which hides the command line from the end user and then we give them that EXE: In this example, I’m using NexusFont since it’s a free font management solution.  NexusFont includes an option to “Copy fonts to system font folder”.  Since NexusFont is running under an account with Administrator rights, it has no problems doing this.

Make sure you give the end users read and execute only rights to the folder and EXE file so they cannot switch it out with another file.

Also, it is possible to reverse engineer the process if you are sophisticated enough and get the password, so don’t use a super sensitive password.  Assumption is that normal users aren’t going to be that sophisticated and there are probably easier ways of gaining admin rights then reverse engineering executables 🙂

– Soli Deo Gloria

Removing Office 2013 Quietly

We bought a company that had all kinds of versions of Office 2013 installed…that is it could be Office 2013 Standard, Professional, x64 or x86 versions of these two.  Our corporate standard is Office 2010 Professional Plus x86 for various reasons I won’t bore you with.  Using the program ManagePC, I found this uninstall string remotely:

"C:program filescommon filesmicrosoft sharedoffice15office setup controllersetup.exe" /uninstall STANDARD /dll OSETUP.DLL"

Upon running this, I was getting a GUI dialog box asking “do you really want to uninstall?”.  Grr!  The only way to do this is with an XML file.  Example:

<Configuration Product="Standard">

<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />

</Configuration>

So the new command line becomes:

"C:program filescommon filesmicrosoft sharedoffice15office setup controllersetup.exe" /uninstall STANDARD /dll OSETUP.DLL /config \<path_to_file>SilentUninstallConfigStd.xml

However, there could be 4 variations…how to handle this?  Well, I cheated.  We try all four.  3 will fail, 1 will succeed.  So we set the exit code to 0 so SCCM doesn’t see a failure:

"C:program filescommon filesmicrosoft sharedoffice15office setup controllersetup.exe" /uninstall STANDARD /dll OSETUP.DLL /config \<path_to_file>SilentUninstallConfigStd.xml

"C:program files (x86)common filesmicrosoft sharedoffice15office setup controllersetup.exe" /uninstall STANDARD /dll OSETUP.DLL /config \<path_to_file>SilentUninstallConfigStd.xml

"C:program filescommon filesmicrosoft sharedoffice15office setup controllersetup.exe" /uninstall PROPLUS /dll OSETUP.DLL /config \<path_to_file>SilentUninstallConfigProplus.xml

"C:program files(x86)common filesmicrosoft sharedoffice15office setup controllersetup.exe" /uninstall PROPLUS /dll OSETUP.DLL /config \<path_to_file>SilentUninstallConfigProPlus.xml

echo %errorlevel%
exit 0

Yes this is a dirty, sloppy, rotten hack!  If the Office 2013 uninstall fails, SCCM won’t know about it and will report success.   I had to go back and setup each Outlook profile again anyways, so this wasn’t a really big deal to me.

– Soli Deo Gloria

Moving Windows 7 to New Hardware Part Deux

You may have remember this posting: Moving Windows 7 to New Hardware.  I was called out recently to another site for a down PC.  A Dell Optiplex 3020 had its power supply blown.  I only had a Optiplex 390 at hand to fix the problem, however, upon booting it up with the old hard drive, I would get that wonderful STOP 7B error message.  Here’s another, perhaps easier method of dealing with this problem: Paragon’s Hard Drive Manager 15 Professional. There’s a feature in the WinPE bootcd of this suite called “Adaptive Restore”.  You don’t even need to use the backup feature of the suite to use it…just boot to WinPE, pick Adaptive Restore and viola: you will get a booting system.

A description of this process is here: http://www.paragon-software.com/technologies/components/adaptiverestore/

  • Change of the Windows kernel settings according to the new configuration. We detect the given hardware profile and automatically install the appropriate Windows HAL and kernel.
  • Installation of drivers for boot critical devices. We detect those without drivers and automatically try to install lacking drivers from the built-in Windows repository. If there’s no driver in the repository, we prompt the user to set a path to an additional driver repository, strongly recommending not to proceed until all drivers for the found boot critical devices are installed. In case drivers for these devices are installed, but disabled, they will be enabled.
  • Installation of drivers for a PS/2 mouse and keyboard. This action will only be accomplished for Windows 2000/XP/Server 2003.
  • Installation of drivers for network cards. We detect those without drivers and automatically try to install lacking drivers from the built-in Windows repository. If there’s no driver in the repository, we prompt the user to set a path to an additional driver repository.

Quite handy for the $99 price tag!

– Soli Deo Gloria