Initialization of Client failed: Closing Application

After installing Rand McNally IntelliRoute software, users may experience the error “Initialization of Client failed: Closing Application”

This problem is usually attributed to inadequate permissions for the user running the application. Please ensure that the folder that Rand McNally software was installed (generally C:\Program Files (x86)\Rand McNally) has Full Control access granted to users. Also, the Registry Key HKEY_LOCAL_MACHINE\SOFTWARE\Rand McNally on the workstation needs to grant “Full Control” to users who execute the program at the desktop level.

32bit Installation Error

The above issue had to do with 64bit installation of IntelliRoute. Below is the issue I experienced with the 32bit installation of IntelliRoute.

I installed the application as an administrator and changed permissions on the Registry Key as well as the Program Files directory as noted above. However, I still received the error.

Using procmon, I tried to get some clues as to why it was crashing. I saw a hint that it looked for a file in C:\Users\%username%\WINDOWS\Sysupz.com.

Upon further investigation, this file did not exist for my test user, however it did exist in for the administrative user that I installed the application under.

To test it out, I copied the file to my test user WINDOWS folder and attempted to launch IntelliRoute and it was a success.

To copy the file to all the users on the server, I used the following command:

cd c:\users\
for /d %u in ("*") do copy c:\users\testuser\WINDOWS\Sysupz.com c:\users\%u\WINDOWS\

This seemed to resolve the issue. I’m not certain if the problems with installation are due to it being installed on a Server 2008 terminal server. That system is slated for migration to Server 2019 in December, so hopefully the IntelliRoute software will not give me problems then!

Get RDS-CAL License Details (2008 RDS License Server)

Get current RDS-CAL details via PowerShell. Run this from your 2008 RDS Licensing server.

# Filename of the export
$filename = RDS-CAL-Report.csv
# Import RDS PowerShell Module
import-module remotedesktopservices
# Open RDS Location
Set-Location -path rds:
# Remove previous reports (Optional)
remove-item RDS:LicenseServerIssuedLicensesPerUserLicenseReports* -Recurse
# Create new RDS report
$NewReport = new-item -path RDS:LicenseServerIssuedLicensesPerUserLicenseReports -Scope DOM -Name Report
# Name is automatically generated
$NewReportName = $NewReport.name
# Get issued licenses
$IssuedLicenseCount = get-item RDS:LicenseServerIssuedLicensesPerUserLicenseReports$NewReportNameWin2K8-Win2K8R2IssuedCount
# Count issued licenses
$IssuedLicenseCountValue = $IssuedLicenseCount.CurrentValue
# Get installed licenses
$InstalledLicenseCount = get-item RDS:LicenseServerIssuedLicensesPerUserLicenseReports$NewReportNameWin2K8-Win2K8R2InstalledCount
# Count installed licenses
$InstalledLicenseCountValue = $InstalledLicenseCount.CurrentValue
# Installed - Issued
$Available = $InstalledLicenseCount.CurrentValue - $IssuedLicenseCount.CurrentValue
# Show percentage available
$AvailablePercent = ($Available /$InstalledLicenseCount.CurrentValue)*100
$AvailablePercent = {0:N0} -f $AvailablePercent
# Display info
Write-host Installed: $InstalledLicenseCountValue
Write-host Issued: $IssuedLicenseCountValue
Write-host Available: $Available [ $AvailablePercent % ]
# Add the information into an Array
[System.Collections.ArrayList]$collection = New-Object System.Collections.ArrayList($null)
$obj = @{
Installed = $InstalledLicenseCountValue
Available = $Available
AvailablePercent = $AvailablePercent
Issued = $IssuedLicenseCountValue
Date = get-date
}
# Exit RDS location
set-location c:
# Create PSO Object with the data
$collection.Add((New-Object PSObject -Property $obj));
# Export Data into a file
$collection | export-csv $filename -NoTypeInformation -Encoding UTF8

Quickly Check Domain Computers (Servers) for MS17-010 Patches

I put this script together from a few different sources.  It basically enumerates Active Directory and checks any 2008+ server for existence of KB patch for MS17-010.
MS17-010 patches a critical vulnerability discovered in Microsoft Windows operating systems that involve SMB exploits from a ShadowBrokers NSA dump of leaked NSA hacking tools.  It’s been spreading from CPU miner payloads to Ransomware (WannaCry/WannaCry 2.0) etc.

import-module activedirectory
$ErrorActionPreference= 'silentlycontinue'
# *** SERVER VERSIONS ***
# Server 2016 / Win10 - NT 10
# Server 2012 R2 / Win8.1 - NT 6.3
# Server 2012 / WIn8 - NT 6.2
# Server 2008 R2 / Win7 - NT 6.1
# Server 2008 / WinVista - NT 6.0
# Server 2003 R2 / WinXP64 - NT 5.2
# Server 2003 - NT 5.2
# WinXP - NT 5.1
$computers = get-adcomputer -filter * -properties * | select-object name,operatingsystem
$computers | foreach {
 $hotfixes = @()
 $osdetect = $_.operatingsystem
 $computer = $_.name
 switch -wildcard($osdetect)
 {
 "*Server*2016*" { $hotfixes = @("KB4013429", "KB4019472", "KB4015217", "KB4015438", "KB401663") }
 "*Server*2012*R2*" { $hotfixes = @("KB4012216", "KB4015550", "KB4019215") }
 "*Server*2012" { $hotfixes = @("KB4012217", "KB4015551", "KB4019216") } # A bit of a hack, not sure how this displays...
 "*Server*2008*" { $hotfixes = @("KB4012212") }
 default {$hotfixes = NULL } # Do nothing if it isn't a server and not 2008-2016.
 }
 if ($hotfixes.count -gt 0) {
 $hotfixes | foreach {
 write-host "Checking $computer ($osdetect)..."
 if (!(get-hotfix -id $_ -computername $computer)) {
 write-host $computer "Missing ($_)"
 }
 }
 } else {
 write-host "Skipping $computer ($osdetect)..."
 }
}

Free eBook: Introducing Windows Server 2008 R2

Microsoft Press release free eBooks often and this is a nice one to have if you are responsible for maintaining Windows Server 2008 R2 (or just curious!).
Free eBook Article:  http://blogs.msdn.com/b/microsoft_press/archive/2009/10/20/free-ebook-introducing-windows-server-2008-r2.aspx
Download eBook Direct (PDF):  http://download.microsoft.com/download/5/C/0/5C0BD0AB-040D-4C56-A60B-661001012DDA/Windows_Server_2008_R2_e-book.pdf
Here is the book’s Content at a Glance:
Introduction xvii
Chapter 1 What’s New in Windows Server R2 1
Chapter 2 Installation and Configuration: Adding R2 to Your World 9
Chapter 3 Hyper-V: Scaling and Migrating Virtual Machines 25
Chapter 4 Remote Desktop Services and VDI: Centralizing Desktop and Application Management 47
Chapter 5 Active Directory: Improving and Automating Identity and Access 65
Chapter 6 The File Services Role 91
Chapter 7 IIS 7.5: Improving the Web Application Platform 109
Chapter 8 DirectAccess and Network Policy Server 129
Chapter 9 Other Features and Enhancements 147
Index 163
 
Released in 2009