Archive | Odds & Ends RSS feed for this section

The Fatal Flaw of the Apple Pencil

I’m not an artist.

I’m a highly mobile business user. I use my iPad Pro several hours a day, and absolutely love the Apple’s Smart Keyboard that goes along with it. It’s the primary way I interface with my tablet. Coupled with Office 365 and a handful of apps, I can pretty much do anything I need to do.

I also bought the $99 Apple Pencil because I’m a sucker for good marketing… and it is very handy to use. It’s especially useful with apps like PDF Expert so that I can mark up documents to provide feedback to my team. I only need to use the Pencil a couple of times a week though at most, and therein lies the problem.

When Apple created the Pencil, they designed it so it was always ready at a moments notice. I suspect if you’re an artist that uses it frequently throughout the day that’s a great thing. To facilitate that capability though, the Pencil holds an active Bluetooth connection open to the iPad, slowly draining the battery.

Since I carry it around in my backpack with my iPad, it holds that connection open and is generally dead and when I grab it. It takes less than a minute to get a very usable charge (kudos to Apple for that), but it interrupts my workflow so much that I’ve gotten in the habit of not using it.

The only way to prevent that from happening, is by either unpairing the Pencil or turning off Bluetooth. Both actions sever the connection and put the Pencil to sleep. Neither of those are solutions though, they’re workarounds, and I don’t believe in workarounds.

A better solution would be to design the Pencil so that a simple quarter twist of the cap would turn it on. That would be a very simple action that would put the user back in charge (pardon the pun) of their device, giving them the freedom to use it however they see fit. Artists could leave it on all day, and casual users like me to could turn it on at will.

I know Apple’s not a fan of anything that adds even a hint of complexity, but sometimes it’s important to account for multiple use cases.

Was this interesting or helpful? Like, Comment, or Share and I’ll write more.

ODBC Drivers Missing from Windows 7 64-Bit

If you go in to the Windows 7 Administrative Tools and double-click on the “Data Sources (ODBC)” icon just as you always have, and then attempt to add a new User DSN or System DSN, you will notice that there are almost no ODBC drivers to choose from.  This is especially confusing for end users who are simply trying to set up a connection to an Access or SQL database.

The secret is that most of those drivers are 32-bit, so, in order to access them you must right click on the “Data Sources (ODBC)” icon and choose “Run as Administrator” in order to see them.  Doing so allows the 64-bit Control Panel applet to display them.

Alternatively, you can simply launch c:\windows\sysWOW64\odbcad32.exe, which launches the 32-bit version of the “Data Sources (ODBC)” applet.

Bonus Tip:  With Windows 7, most organizations are no longer giving end users administrative rights to their workstations.  One consideration in regards to ODBC connections is that in order to create a System DSN, you must be an administrator of the local workstation.

Creating System DSN’s has been the defacto standard of most installation instructions that require DSNs for years, so you will likely need to modify any documentation.  User DSN’s work just as well as System DSN’s, except they must be set up individually for every user on a workstation.

How to Install Vantive 8.x on Windows 7 SP1

Recently I was asked to figure out how to install Vantive 8.x in Windows 7 SP1. The core issue is that Vantive uses many unsigned components which Windows 7 SP1 really doesn’t like, so this procedure would likely work for any similar programs that use unsigned components or controls.

You’ll need to be logged in with administrative permissions to install the software, but once installed the user will not require administrative permissions to run it.

  1. Copy the software installation folder to the local PC
  2. Right click on Setup.Exe (or similar file) and click on Properties.  Change to the Compatibility tab
  3. Set it to run in compatibility mode for XP Service Pack 2
  4. Hit OK
  5. Run Setup.EXE (or similar file) by right clicking on it and selecting “Run As Administrator”
  6. It should install normally choosing the defaults and setting the server.
  7. Open Internet Explorer
  8. Go to Tools – Internet Options
  9. Click on the Advanced Tab
  10. Scroll down to the Security section
  11. Check “Allow software to run or install even if the signature is invalid”
  12. Hit OK and close Internet Explorer
  13. Click on start, browse to the Vantive icon, right-click, and select Properties
  14. Change to the Compatibility tab
  15. Set it to run in compatibility mode for XP Service Pack 2
  16. Hit OK
  17. Click on start, browse to the Vantive icon, right-click and select “Run As Administrator” and login as normal
  18. You’ll get prompted a bunch as it downloads all of the unsigned controls, but they will install.

Logging in with a regular account without administrative permissions, I set Vantive to run in Compatibility mode for XP Service Pack 2 and launched as normal.

Poor Video/Mouse Performance in VMWare Console with Windows Server 2008 R2

An issue has been floating around that VMWare Tools are not working as well as they should under Windows Server 2008 R2.  This does not appear to be an issue if the tools are installed fresh on an installation as opposed to being part of the SysPrep’d image or otherwise deployed during the server installation phase.  The primary symptom is slow mouse performance under the VMWare console.

The root cause of this is that Windows Server is examining the hardware it is on and installing what it considers the appropriate drivers for the situation.  It finds compatible, default drivers of its own and therefore does not use the VMWare drivers.  Even though the VMWare tools are running properly overall, they do not attempt to correct the video or mouse drivers.

In order to correct this , you need to manually replace the video & mouse driver and then restart the server.  Once this is done, Video and Mouse performance is greatly enhanced.

The proper video driver can be found at:

“C:\Program Files\Common Files\VMware\Drivers\wddm_video”

…and the proper mouse driver can be found at:

“%program files%\Vmware\VMWare Tools\Drivers\mouse”

NOTE:  On the mouse driver, once you browse for the proper driver, you will have to select “Let me pick from a list of device drivers installed on my computer” as opposed to just hitting “Next.”  Windows 2008 R2 does not see the VMWare driver as a better driver than its own.

Once both drivers are corrected, you will need to reboot your server.  If you look in Device Manager, you should see “VMWare SVGA 3D…” under Display Adapters and “VMWare Pointing Device” under Mice and other pointing devices.

SMS 2003: How to Expunge Microsoft’s Systems Management Server 2003 from Your Network

Microsoft’s Systems Management Server 2003 is notoriously difficult to remove from a network once it has had its client installed on all workstations/servers. I was recently tasked with figuring out the right process to get it off our network and execute it (the process and SMS). We had moved to Altiris some time ago, but SMS lingered on like a bad cold… occasionally causing issues and certainly making most of the IT staff uncomfortable with its presence.

This process details how to remove the SMS 2003 Advanced Client from all workstations/servers. It assumes you have some familiarity with SMS 2003 and systems management in general. I used SMS 2003 itself to pull it off the workstations and servers. That way, the process only attempts to run once (saving bandwidth and reducing login times) and I liked the irony of making it remove itself from the network. 🙂

Once the Advanced Client is off all of the nodes, uninstalling the actual SMS server is fairly straight forward.

Microsoft created a tool some time ago called CCMClean.exe. This tool will completely remove the SMS Advanced Client from any workstation or server. You can set it up to run silently (recommended) and it does not require a reboot. That’s awesome in the enterprise, as things that require a reboot generally require a lengthy change request to be filed and approved.

This tool is included in the free Systems Management Server 2003 Toolkit 2 from Microsoft.

You’ll want to download that toolkit and install it on your SMS 2003 server. Once installed, you’ll find CCMClean.exe under the root of the toolkit’s installation folder. You’re not going to use it quite yet, but it’s important to know where it’s at.

Now it’s time to prep SMS 2003 for the removal of the client’s from the network. This requires several configuration changes and you are basically “turning off” SMS, so be certain you are done with it.

First, I like to set SMS to remove all nodes from its asset list after five days of non-reporting. Once the Advanced Client is removed, the node is not going to report to SMS anymore. This allows me to see who has had the client removed in a reasonable amount of time. The default is 90 days, so five days is a big change.

You’ll make this change here:

Site Hierarchy – Site – Site Settings – Site Maintenance – Tasks – Delete Inactive Client Discovery Data

It should be set to a default of 90 days or whatever it may have been changed to when it was originally installed/configured.

Next, we’ll want to make sure we’re using SMS as little as possible, so we need to disable all of the agent reporting… the only thing we want to keep is the Advertised Programs as that’s how we’ll push CCMClean.exe to the workstations and servers.

You’ll make this change here:

Site Hierarchy – Site – Site Settings – Site Maintenance – Client Agents

You’ll disable everything under there except Advertised Programs Client Agent.

At this point SMS is doing very little on the network. Clients should stop reporting almost everything and they’re basically just checking if there are any new programs to be installed.

Now you’ll need to create a new Collection. In SMS 2003, a collection is simply a collection of computers, generally populated based on specified rules. A collection may contain 5000 computers or just one based on your needs. When I removed SMS 2003, I created a collection called “SMS Client Removal” and initially set the rules so that just the computers from our department were included. Then I included the PCs for the Level 2 helpdesk, then Level 1, and finally I broadened the rules so that we were removing the client from a couple of hundred computers at a time (servers I did at a much slower pace). CCMClean.exe is a very safe application; it does very little and has very little impact on the systems but at the same time I generally play it safe.

Once your collection is created, you’ll need to create a new package from CCMClean.exe. To do so, right click on Packages and select New – Package. You’ll stair step through that process, but all you need to really specify is the following:

  • Name the package CCMClean or something similar
  • Select “This package contains source files” and point it to the root of the SMS 2003 Toolkit installation folder. Choose to “Always obtain files from source directory.”
  • Everything else you can leave at the defaults unless your environment requires something additional

If you’re not too familiar with SMS, you’re probably scratching your head as to why you would create a package and not point to a specific program. That’s because SMS looks at a package as a container, which may contain many items including programs. Therefore, you now need to add a program, CCMClean.exe, to the package.

Go to Packages – CCMClean – Programs, right click, and select New – Program.

Give it a name and then type the following in the Command Line field:

ccmclean.exe /all /q

It knows where to run that command from because you specified the location of the Source Files when you created the package.

You might want to go ahead and set Run to Hidden. Also, under the Environment tab, change Program Can Run to Whether or Not a User is Logged On and then set the Run Mode to Run with Administrative Rights (you may or may not need to check the options below it, I did not on my network but our users have administrative rights on their PCs (for now). You can leave all other options at their defaults.

Finally, it’s time to tell the clients to run this new package. You’ll need to create a new advertisement by right clicking on Advertisements and selecting New – Advertisement. Give it a name like CCMClean and choose CCMClean from the Package drop down and CCMClean again from the Program drop down (assuming you used CCMClean for your Package and Program names). Click Browse next to Collection, and select your SMS Client Removal collection from the list.

Under the Schedule tab, you can set it to what you want but as this was running without user involvement I set mine to As Soon As Possible.

Under the Advanced Client tab, I set the first option set to Run Program from a Distribution Point and the second option set to Run Program From a Remote Distribution Point.

Once this advertisement is saved, any client computers in the SMS Client Removal group will begin to uninstall the Advanced Client the next time they check in with the server (generally every 60 minutes). Five days later, the client computer name will be removed from the SMS database and you will no longer see it in the SMS console.

Optionally, you may want to download SCCM Client Center from SourceForge and install it on your SMS Server. This will allow you to type in a client computer name and see what version of the client is currently installed on the PC. If it can’t connect, the Advanced Client was successfully removed from the PC!

Scripting: How to Programmatically Add Current Date/Time to a Filename

When writing scripts such as batch files you may want to auto-create a file (like a text file) to save the log of a certain command (such as DCDiag or NetDiag). If your script is going to run on a routine interval, and you want to maintain a history of logs, it may be helpful to incorporate the date/time into the filename.

Fortunately, Microsoft has given us some syntax to be able to do this from the command line.

Before we get to the actual commands, let’s review the pertinent information. If you go to a command line and type “Echo %date%” you’ll get back a response such as:

FRI 01/01/2010

That is a collection of fourteen characters, represented as such:

CHAR F R I _ 0 1 / 0 1 / 2 0 1 0

POS 00 01 02 03 04 05 06 07 08 09 10 11 12 13

In addition, if you go to a command line and type “Echo %time%” you’ll get back a response such as:


That is a collection of eleven characters, represented as such:

CHAR 0 1 : 0 0 : 0 0 . 0 0

POS 00 01 02 03 04 05 06 07 08 09 10

Now that we know what character appears at what position, we are ready to augment our file name with the proper syntax to incorporate the date and time.

For the date, we’re going to use “%date:~x,y%” where “x” equals the position and “y” equals the substring length.

So, if I wanted my file name to be “test-01-01-2010” I would use:


Or, if I just wanted it to be “test-2010” I would use:


Saying it another way, that “10” represents position 10 (the start of the year) and that “4” tells it to use four characters from that spot, so I get the entire four digit year (or 2010). If I just wanted a two digit year, I would change the “10” to “12” (to start at position 12) and the “4” to a “2” resulting in “10” instead of “2010.”

Time works much the same way, but with the syntax being “ %time:~x,y%” instead.

In case you have a need, you can use a minus sign to the right of the tilde (i.e. %date:~-x,y%) to count the x backwards. Don’t forget though, that the spaces, colons, dots and slashes will all be included in whichever direction you initiate your count.