All posts by jim

Windows 8, iPad Minis, & Nintendo, Oh My: What to Buy This Holiday Season

I took last Friday off to watch my son and hit the local Best Buy since we had some time to kill before picking up my daughter from school.

With the latest Windows 8 release I was hoping to check out a couple of the new touch screen devices. I don’t recall the exact models, but I looked at an Acer RT tablet, Lenovo Ultrabook/Tablet Convertible, and a Dell All-In-One desktop. I have to say after using Windows 8 on my Lenovo x220 for a month, I’m really missing not having a touch screen interface. After playing around with each of the devices, I found the Windows 8 UI to be fluid and responsive irrespective of device. Windows 8 gestures all worked as advertised. Application launched and closed in several seconds. I launched Excel on the Acer RT tablet and sure enough it dropped me to the desktop interface, where I saw the common matrix of empty cells. I even typed in a few numbers and ran the simple SUM function. The on-screen keyboard worked well enough for this task. Office on the desktop ruins the RT experience, they will probably eventually port it or a subset of it to a Windows 8 app, but the fact that it can run on an RT tablet should satisfy business users who depend on Office. Overall, I’m impressed with the few pieces of Windows 8 hardware I used.

I was also hoping to see the newer iPad Mini and thinner iMac for comparison, Continue reading Windows 8, iPad Minis, & Nintendo, Oh My: What to Buy This Holiday Season

Windows 8 in Review: The Good, the Bad, and What You Need to Know

Windows 8 TabletI’ve been using the RTM enterprise version Windows 8 on my work laptop and workstation for about a week now and these are some of my initial impressions of it.

The Good

Some of my better experiences…

It’s fast. It’s as fast, if not faster, than Windows 7. On a Dell Precision T3400 and ThinkPad x220, the experience is snappy.

It’s beautiful. Minimalist metro style, live titles, square edges in metro and desktop mode, and sleek background artwork will really catch your eye.

Keyboard shortcuts. There is basically a Winkey shortcut for almost everything. The Windows 8 secrets book has a full list in the appendix or you can visit Paul Thurrott’s Super Site for Windows for a quick guide on Windows key shortcuts.

Search. Press the Winkey and start typing. Find stuff. Enough said.

My kids could use it. I spent about 30 minutes last night reviewing metro interface with my 9-year-old. After explaining the screen gestures, she was able to download and play a couple of free metro games.


The Bad

These may be nit-picky, but I demand perfection…

No search with the Windows store.  You have to use Start Search and filter on the store to see results. This is kind of annoying.

No Hyper-V client support for my workstation. You need SLAT or second level address translation support on your processor for client side Hyper-V. This is an optional requirement for server so why not on the client. I will gladly forgo VM memory optimizations to ditch VMware workstation.  You can check if your processor is SLAT compatible by following this helpful blog post on How-to Geek.

Metro is designed for a touch experience. Not an earth shattering realization, but Continue reading Windows 8 in Review: The Good, the Bad, and What You Need to Know

Microsoft’s TechEd North America 2012 Keynote Recap

The 20th anniversary of Microsoft’s TechEd North America kicked off with a keynote showcasing Windows Server 2012, Windows Azure, Visual Studio 2012, and SQL Server 2012.  They should have renamed it the Windows Azure hour, though.

A cloud-based infrastructure back end was included in 90% of the demos. These demos included:

  • System Center 2012 migrating virtual machines seamlessly from a local data center to 3rd party service provider
  • The process of creating virtual machines in Windows Azure
  • The act of deploying web and mobile applications to Windows Azure directly from VS 2012 with one click
  • Using SQL Server 2012’s Powerview to break down 140,000 movie tweets (I believe stored in a Hadoop cluster on Windows Azure though the presenter was unclear) into useful information for a movie theater owner looking to maximize revenue.

Of all the demos,  Continue reading Microsoft’s TechEd North America 2012 Keynote Recap

Creating a Virtual Machine in SCVMM Self-Service Portal v1

System Center Virtual Machine manager ships with an addon called the Self-Service Portal. The goal of the Self-Service portal is to provide a hassle free method for end users to create and manage their own virtual machines in Hyper-V. Below are the instructions and screenshots an end user would use to create a virtual machine in v1 of the Self-Service portal that shipped with System Center Virtual Machine Manager 2008 R2.

These steps assume that you have Self-Service portal running in your environment and that you have already created SCVMM templates for users to deploy.

How to Create a virtual machine in the Self-Service Portal

  1. Log in to the Self-Service Portal.
  2. Under the Create menu, click New Computer.
  3. Under the Creation Source, choose a Template from the available list.
  4. Enter the display name and description of the virtual machine.
  5. Enter the computer name (this will be the name referenced on the network). Be wary of adding a trialing space in the computer name or it will fail to create.
  6. Click create, if successful a pop up should indicate the virtual machine was created successfully.
  7. Wait for the virtual machine to be deployed to the host. You can view the estimated completion time from the properties -> latest job tab.
  8. Connect to the virtual machine.



Additional Tips

  • Configure your template or use group policy to make your virtual machines accessible over RDP. The connection method used in the Self-Service Portal is difficult to use. It requires a Active X control be installed on the client and is genrally inferior to RDP (fixed screen size, no copy paste, etc..).
  • Use a naming convention to track virtual machines created (i.e. hv-xx) through the Self-Service Portal. Internally, we created a small ASP.NET web application that will automatically generate a virtual machine name for users when they click a button.




OfficeWriter for the IT Pro: Automated Dell Warranty Lookup using Powershell and ExcelTemplate

OfficeWriter for the IT Pro posts are aimed at exploring ways to extend the use of OfficeWriter to the IT work space.

This script will dynamically query Dell’s Warranty web-service via PowerShell and export the results to an Excel (xlsx) file using OfficeWriter’s ExcelTemplate object. I’ve added colored conditional formatting depending on how many days are left before the warranty expires.

In the script, we leverage two external community provided PowerShell functions, Out-DataTable and Get-DellWarranty. Get-DellWarranty accepts a computer name then returns the results as a PowerShell object. The ExcelTemplate object will not bind a PowerShell object so we use Out-DataTable to convert the object into a .NET DataTable.

You will need proper permissions and PowerShell access to run the script against remote servers. You will need to modify the $myComputerList variable to include the computers that you want to query. You will need to download the file attached to this post. It contains the required PowerShell modules, DellWarrantyExporttoExcel script, DellWarrantyLook.xlsx excel template, and a sample excel output file (output.xlsx). The final requirement to run the script is a copy of OfficeWriter Standard. You can download a free evaluation here . Continue reading OfficeWriter for the IT Pro: Automated Dell Warranty Lookup using Powershell and ExcelTemplate

A Departmental-Based IT Strategy

Traditionally, a disconnect exists between IT and business operations. Departments don’t understand IT processes and IT doesn’t understand departmental workflow and procedures. Committees, task forces, and “super teams” may remedy this issue on a short term basis for a joint project where both sides receive a narrow view into each other’s underpinnings, but focus can be lost after project implementation as both parties shift attention to new priorities.

The solution to this problem may be simple. Each department or several combined departments, depending on company size, employ dedicated IT personnel to service their IT needs. This strategy does not remove the need for a centralized IT department. Core IT services (i.e. email, networking, hardware, security) need to remained centralized to ensure operational consistency across the organization. Instead, departmental IT Pros will implement and directly support departmental applications, cloud based or otherwise. They will be the bridge between the department and IT when projects require internal IT resources. Most of all they will posses integral departmental knowledge and savvy IT wisdom that will help drive future business directives while breaking down the business IT barrier.

Create an Excel Spreadsheet in Powershell

This post shows you how to create an excel spreadsheet in Powershell with OfficeWriter.




## Create an Excel Spreadsheet with ExcelApplication in Powershell ##

## by Jim Stallings (



# Add the assembly Add-Type -Path ‘C:\Program Files (x86)\SoftArtisans\OfficeWriter\bin\dotnet\SoftArtisans.OfficeWriter.ExcelWriter.dll

# Create a new ExcelApplication object

$xla = New-Object “SoftArtisans.OfficeWriter.ExcelWriter.ExcelApplication

# Create a new workbook

$wb = $xla.Create()

# Add a worksheet to the workbook

$ws = $wb.Worksheets[0]

# Add some text to the first cell in the sheet

$ws.Cells[‘A1’].Value = “Welcome to SoftArtisans OfficeWriter!

# Save the workbook to disk

$xla.Save($wb, “C:\myfile.xls“)

A Simple Bash Script to Clone a Drupal Core GIT Repository

This is a simple bash script used to clone a Drupal Core GIT repository locally when passed a branch number and a new directory name (to host the Drupal repo). I use the issue number as the directory to keep Drupal API documentation patches coordinated with the issue number.

To execute the script, copy and past the commands in the code block into a text editor then save the script as (e.g.

Run from a bash prompt (in the same directory) by typing: sh