Blog

I recently needed to move several VMDK files from a VMware datastore that had filled up due to an old snapshot. To move the first VMDK I used SSH to connect to the vSphere host, browsed to the datastore, and entered:

"cp –R /source/directory/ /dest/directory/"

to recursively copy the VMDK and snapshots to the new datastore. Because of the size of this VMDK this copy command took just over 24 hours to finish. Once it completed I unfortunately found that not only had the VMDK had been converted from thin provisioned to thick, but the snapshots had also ballooned to the size of the thick base disk.
 
It turns out that vSphere provides a much better way to copy VMDKs that will not only retain thin provisioning, but will also merge snapshots while copying. I used a command similar to the following to clone a VMDK:
 
vmkfstools -i "/vmfs/volumes/Datastore/examplevm/examplevm-000001.vmdk" "/vmfs/volumes/Datastore 2/newexamplevm/newexamplevm.vmdk" -d thin -a buslogic
 
The ‘-i’ flag tells vmkfstools that we want to clone the drive, the ‘-d’ flag specifies the disk type and the ‘-a’ flag specifies the storage adapter type (in this case SCSI with the BusLogic controller).
 
VMware has a KB on cloning VMDKs with vmkfstools, available here.

0 Comments   Networking VMDK VMware ESX snapshot

 

I was recently working with a customer and they had been prompted to reboot their server mid-day because of Windows updates. I told them to click “Restart Later” and forget about it because it should initiate the restart that night. However when I logged on to the server a few days later I got the notification that the server would reboot in 5 minutes.  I disabled the Windows Update service to prevent the reboot, then followed the steps below to force a reboot after updates are installed regardless if someone is logged into the server or the session is locked.
 
To change the AlwaysAutoRebootAtScheduledTime registry key value to enable automatic Windows Update restarts, follow these steps:

  1. Install Windows Update 2822241
  2. Start Registry Editor. To do this, follow these steps:
    1. Swipe in from the right edge of the screen, and then tap Search. Or, if you are using a mouse, point to the lower-right corner of the screen, and then click Search.
    2. In the search box, type "regedit.exe".
    3. Tap or click the displayed regedit.exe icon.
  3. Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
  4. Swipe across or right-click AlwaysAutoRebootAtScheduledTime, and then tap or click Modify. Note If the entry does not exist, follow these steps to add it:
    1. On the Edit menu, point to New, and then tap or click DWORD Value.
    2. Type "AlwaysAutoRebootAtScheduledTime" in the Name field, and then press Enter.
  5. In the Value data box for this registry key, enter "1".
  6. Click OK.
  7. Exit the Registry Editor.

https://support.microsoft.com/en-us/kb/2835627
 

0 Comments   Networking Windows Server 2012 R2 windows update Windows 8

 

I had a customer that opened Outlook and discovered a public folder had mysteriously disappeared. I could not locate the folder anywhere so I assumed it had been deleted.

The good news is there is a PowerShell script that searches and generates a .txt file listing any public folders that were recently deleted. Once you locate the public folder in the text file, you can run another PowerShell command to restore the public folder with its contents.

Here is the link that has both scripts, along with a step by step process of recovering the folder:
 
http://blogs.technet.com/b/exchange/archive/2013/08/23/recovering-public-folder-information-in-exchange-2013.aspx
 

0 Comments   Networking Powershell Exchange 2010 Public Folders

 

After we completed a customer’s upgrade to ESXi 5.5.3, their Veeam jobs started failing, with an error message stating the files for the virtual machines did not exist or were locked. Since the VMs were migrated to a new ESX host as a part of the upgrade, I thought the old hosts may have put a lock on some of the VM files for some reason, so I shut them down. After they were shut down, the jobs still failed but the error message changed saying that the backups failed because a NFC storage connection was not available.

Research of this error led me to an article (https://www.veeam.com/kb1198) which directed me to some backup log files. In these backup log files, I kept entries indicating Veeam was trying to establish a connection with the SSL server, but it failed due to an unsuccessful SSLv3 handshake since ESXi 5.5.3 disables SSLv3 due to vulnerabilities with the protocol.

Some more research led me to another Veeam KB article (https://www.veeam.com/kb2063) stating that this was a known bug with Veeam 7.0. The article says, “Veeam Backup & Replication is designed to use TLS or SSL, however a bug in parsing the list of supported SSL/TLS protocol versions within Veeam Backup & Replication when communicating with VMware causes the job to fail without attempting to use TLS,” and the solution is to upgrade to Veeam 8 update 3. Since this customer’s Veeam renewal was coming up, I went ahead and upgraded them to Veeam 9 and, after doing so, their backups started running without any issues.

0 Comments   Networking Veeam VMware ESX

 

HP printers are comonly detected in financial institution audits due to a vulnerable SSL version in use.  Many older models contain multiple vulnerabilities that cannot be fixed with firmware upgrades because the older printers are no longer supported.
 
Customers can use the HP WebJet Admin software to manage these printers through SNMP and disable the web server completely.  However make sure the SNMP community strings have been changed from the default "public" and "private".

0 Comments   Networking Vulnerability HP Security SSL printing

 

In iOS 8 Apple introduced a new Battery section to Settings that shows how applications are using battery resources. With iOS 9 this feature was improved by showing active vs. background activity. To enable this, tap on the clock symbol in the Battery area. An application that is consuming lots of battery in the background usually has a stuck process or a software bug.

0 Comments   Networking iOS9 Apple battery

 

I was recently working on a PowerShell Script that used Excel COM objects to pull data from remote computers put it into a spreadsheet. I finished up the script and tested it under my own account and got the result I was looking for—the data was pulled from the remote computers, an Excel spreadsheet was created and saved to a network share, and an email was sent out with the spreadsheet as an attachment.

Pleased with the script, I set it up as a Scheduled Task and set it to run under the credentials of an existing service account. When I manually ran the scheduled task, however, the script would not run. I tried using my own account for the scheduled task and it still would not run. I was using some formatting in Excel that would have been lost if I went with a CSV file and having to remember to manually run the task at the scheduled interval while I was logged in would not have been the best solution, so I decided to look for a solution rather than re-write the code.
 
After some digging, I discovered PowerShell scripts that use Excel COM objects—and presumably other COM objects—that run while a user is not logged in require the SystemProfile have a Desktop folder in order to run as scheduled tasks. The folder, however, does not exist under the C:\Users directory as you might expect. Instead, it is located at:
 
C:\Windows\System32\config\systemprofile\Desktop
                *AND*
C:\Windows\SysWOW64\config\systemprofile\Desktop
 
The empty “Desktop” directory itself needs to be created and nothing more—no special permissions or registry hacks. In the case of a 32-bit OS, only the first directory needs to be created. In the case of a 64-bit OS, *both* directories need to be created. In my case, I was on a 64-bit OS and the directory in System32 existed but the directory in SysWOW64 did not. Once I created the missing directory I was able to use the original service account to successfully run the scheduled task whether or not it was logged in to the system.

0 Comments   Networking Powershell Windows

 

Many of our customers are still running the Citrix Online Plug-in or Citrix Receiver Enterprise 3.4 because it allows them to place application shortcuts on a user’s Desktop and in the Start Menu. Later version of the Receiver require the use of the Citrix Launcher and do not allow Desktop or Start Menu shortcuts. The Citrix Receiver Enterprise 3.4 will not install on Server 2012 R2 RDP servers, so another solution is needed.

Citrix has recently reintroduced the ability to add application shortcuts to the user’s Desktop and Start Menu. The current version of the Citrix Receiver is 4.4 and includes an option to disable Self-Service Mode. There are a few other options that must be set to allow icons to appear on the Desktop, which can be set via a command line install or by editing the registry. 
 
An example command line to install the Citrix Receiver 4.4, enable single sign-on, configure the URL of a XenApp 6.5 farm, disable Self-Service Mode, add icons to the user’s Desktop, and allow adding a URL that is a HTTP address is below:


"CitrixReceiver.exe /includeSSON  /STORE0="PNAgent;http://storefront.domain.local/Citrix/PNAgent/config.xml;on;CustomerXenApp" SELFSERVICEMODE=false PutShortcutsOnDesktop=true AllowAddStore=A /silent"


CitrixReceiver.exe – Install file
/IncludeSSON – Enabled Single Sign-On
/STORE0= Path to XenApp 6.5 farm config URL
SELFSERVICEMODE – Set to false to disable the Citrix Launcher and enable Desktop and Start Menu application shortcuts
PutShortcutsOnDesktop – Set to true to add application shortcuts to the user’s Desktop
AllowAddStore – Set to A to allow the addition of a URL that is a HTTP address
/silent – Performs a silent install
 
After that command is run, the following command must also be run to complete the configuration to allow the use of a URL that is a HTTP address:


"reg add HKLM\SOFTWARE\Wow6432Node\Citrix\AuthManager /v ConnectionSecurityMode /t REG_SZ /d Any"
 
After these two commands are run, the Citrix Receiver will work as it did with the Citrix Online Plug-in and the Citrix Receiver Enterprise 3.4
 

0 Comments   Networking single sign on Citrix Receiver

 

I was helping out with a customer’s Active Directory migration and a different IT support group used a profile migration tool to help “ease” the transition between domains. But soon after the users started complaining that IE was not allowing them to save passwords. They would get prompted to store the credentials for a website and click yes, but as soon as they closed and reopened IE their stored credentials would disappear. Our suspicion was that the profile migration tool had corrupted the credential store in the registry.

I started a remote session with one of the users, checked the IE password store in the registry (HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\IntelliForms\Storage2), and saw several of the user’s old entries. In order to allow the user to store passwords again, I had to delete this registry key, reopen IE, and save credentials for a website. Once I clicked “yes” to the prompt to save credentials, the registry key was automatically recreated and the credentials got stored.

0 Comments   Networking password Registry Internet Explorer Active Directory Windows

 

I recently attempted to upgrade a Dell Latitude laptop from Windows 7 to Windows 10. I started with a clean Win7 installation with most of the updated device drivers from Dell. The upgrade went smoothly … until it rebooted and I got the following error:
 
xC1900101 - 0x20017 Installation failed during safe OS phase with an error during boot operation
 
The good news was the installer backed out the upgrade and I was able to use the laptop with Win7. Researching this error code provided lots of suggestions related to hardware like removing RAM, disabling wireless and Bluetooth and so on. These worked for some people but not all so I kept digging.
 
Then I remembered that one of the things I didn’t upgrade was the BIOS. It was running version A06 and the current version from Dell was A16. Once I figured out I had to do a two-step upgrade (going directly to A16 did not work), I reran the upgrade tool and it worked, no boot error.
 
As a side note I found out that if you upgrade by downloading the installer from the Internet (rather than an ISO) the install files are stored in “c:\windows\$Windows.~BT”. You can run setup from this folder to avoid downloading the files again.

0 Comments   Networking Windows 10 Dell