Installing the VMware ESXi Embedded Host Client

As most everyone knows, the old VMware vSphere C# client has been on its way out for years. One of the things keeping it alive is the fact that not everyone has a vCenter Server, and even those who do don’t necessarily use the Web Client. Sadly, there are some really cool features the old Windows client can’t touch, such as exposing hardware-assisted virtualization to individual VMs.

If you have a home lab and don’t need vCenter, thee ESXi Embedded Host Client gives you web-based access to these hidden features of your standalone ESXi host without having to spin up a real vCenter server.

Here’s how to install it:

  1. Shut down all VMs and place the host in maintenance mode
  2. SSH into ESXi and execute the following
    [root@esxi:~] esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxui/esxui-signed-4393350.vib
  3. Browse to https://[ESXi]/ui
    You should see the login screen:
    VMware ESXi Embedded Host Client Login Screen
  4. Log in using whatever credentials you use in the old C# vSphere client. You should see something that looks an awful lot like the vSphere Web Client:
    VMware ESXi Embedded Host Client Initial Screen

How to Fix the Blurry, Fuzzy, Ugly Text in Windows 10

After upgrading my Lenovo ThinkPad to Windows 10, I was so pumped. The upgrade went smoothly, all my apps worked, but then I noticed something: some apps had blurry, fuzzy text.

Ugly, blurry, fuzzy text on Windows 10:

vSphere-on-Windows-10-with-fuzzy-text

This might not bother some people, but to me it felt like trying to read a wet book with my glasses off. Most everything else looked sharp and normal, so I knew it wasn’t a native resolution or global DPI scaling issue, which is what most of my Google-fu turned up.

The fix (hint: not prescription eyeglasses)

The fix turned out to be crazy stupid. Well, more stupid than crazy. Go into the Properties of the app that’s rubbing salt water in your eyes:

vSphere-on-Windows-10-properties

Navigate to the Compatibility tab. Check that “Disable display scaling on high DPI settings” check box, apply the settings, then launch the app again.

vSphere-on-Windows-10-with-sharp-text

That’s what I’m talking about. The window is bigger, and the text doesn’t look like garbage.

But wait, there’s more! (PowerShell)

If you’re a PowerShell 1337 scripter, you may run into a similar issue. Check this out:

PowerShell-with-ugly-fuzzy-blurry-font

If you’ve ever hooked up a computer to an old CRT television using an RF converter, well, this is about what it looks like. Ugly as homemade sin, as they used to say. Don’t worry about the error. I left it to highlight how horrendously eye-stab-worthy this console looked when I first opened up a can of PoSH on my newly minted Windows 10 upgrade.

The fix? Go to PowerShell properties:

PowerShell-on-Windows-10-properties

Navigate to the Options tab (intuitive, right?). Check the box “Use legacy console” (duh), then apply the settings. Relaunch PowerShell.

PowerShell-with-sharp-font

The image makes it look a bit fuzzy still, but on my screen it looks crisp and sharp.

New book! Learn Cisco Network Administration in a Month of Lunches

The pre-release of my new book, Learn Cisco Network Administration in a Month of Lunches, is available from Manning Publications’ early access program.

The book is a tutorial designed for beginners who want to learn how to administer Cisco switches and routers. Set aside a portion of your lunch hour every day for a month, and you’ll start learning practical Cisco Network administration skills faster than you ever thought possible.

Pass the First Time: Study Tips for the CCNP Routing and Switching Certification

If you’re studying for or considering the CCNP R&S certification, here are a few things to keep in mind:

The CCNP exams test CCNA-level skills and knowledge, too

This is a good thing, because it helps weed out those who “brain dump” the exams. If you got lucky with OSPF on your CCNA exam, you’re not going to get lucky on the CCNP ROUTE exam. You really DO need to know this stuff. You can’t just pass the CCNA composite exam and then forget everything. You have to have a solid foundation to build on. You’re never too educated to go back and revisit the fundamentals.

Spend most of your time studying configuration and troubleshooting at the command line interface.

There’s no hard and fast rule on this, but a good rule of thumb is make sure AT LEAST 50% of your time is spent in IOS. Both the ROUTE and SWITCH exams have some simulations, but the TSHOOT exam has a LOT. If you’re not proficient with the command line interface, you won’t pass. Again, this weeds out the dumpers, and it raises the difficulty level of attaining the cert.

Write down all your questions in one place and periodically revisit them.

You’ll be amazed at how many questions you will learn the answer to without realizing it. Some questions you’ll look at and think, “Duh, that one’s easy. How did I not know that before?” From my CCIE studies, I have a list of questions that I organized by category: Layer 2, Layer 3, Security, QoS, etc. Writing down questions also reminds you of how much you DON’T know, highlights your misconceptions, and becomes a de-facto study guide. The last thing you want going into the exam is a false sense of security.

The exams cover a LOT of topics, and some of them are pretty in depth.

This is where a lot of people get frustrated, confused, or just overwhelmed. They look at the exam topics, see the magnitude of it all, and try to study and memorize everything about everything.

This is one of the biggest reasons I’m creating a series of CCNP R&S courses for Pluralsight.

The first one, Basic Networking for CCNP Routing and Switching 300-101 ROUTE was released this month. In each course I focus on real-world customer requirements and then demonstrate how to configure them step-by-step, explaining each command as I go. When watching the courses, you’ll quickly get an idea of what areas you need to study more and what areas you already know.

Not only that, each course module includes an assessment which thoroughly tests your knowledge of the relevant exam material. And, if you get an answer wrong, it will take you to the exact spot in the course where I cover that particular topic. It’s an incredibly effective way to study and learn quickly.

Check out the entire CCNP Routing and Switching learning path.

Creating a File Share with PowerShell and Windows Server Core

Sometimes you just need to create a file share.

With Windows Server Core, you don’t have all the old GUI tools that we’re all used to. So you have to make do with PowerShell and the old fake DOS prompt. Fortunately, with a little help, it’s pretty easy.

First, create the folder you want to share. In this case, c:\share

Next, modify the ACL to grant the DOMAIN\File Server Admins group full control

$sharepath = "c:\share"
$Acl = Get-ACL $SharePath
$AccessRule= New-Object System.Security.AccessControl.FileSystemAccessRule("DOMAIN\File Server Admins","full","ContainerInherit,Objectinherit","none","Allow")
$Acl.AddAccessRule($AccessRule)
Set-Acl $SharePath $Acl

Finally, create the share and grant everyone full access.
NET SHARE sharename=c:\share  "/GRANT:Everyone,FULL"

Done.

5 Reasons to Consider Leaving Apple

Remember when everyone had to have an Apple product — an iPhone, Macbook, or iPad? Look at how fast things changed. Android has been leading the tablet and smartphone market and crushing Apple for years now. So what does this mean for Apple?

#1 – Apple is now Apple, circa 1997.

Apple is trying to “me-too” its way back to success with its Apple Watch. We already have fitness bands that tell time. Apple’s desperate desire to “innovate” has ironically had the opposite effect — they’re just copying the success of others. It’s the same mistake they made in the late 1990’s after firing Steve Jobs. They copied IBM and almost went bankrupt. When Steve Jobs returned, Apple made a comeback.
But Steve Jobs is dead. This sounds harsh, but the fact is that Apple never did well without him. I remember owning Apple stock when it was $6 a share. That’s six dollars. With Jobs gone, it’s back to the 1990’s in terms of leadership.

#2 – Apple is falling behind.

Their initial success with the iPhone was because they got it to market faster than Google got Android out. Android predates the iPhone, but most people don’t know that and frankly don’t care. The iPhone got there first so Apple won.
Fast-forward several years. Samsung released an Android version of the Apple Watch before Apple did. They copied Apple before Apple could even get their own product out the door! Bottom line: Apple has lost its competitive edge.

#3 – Apple picks fights it can’t win.

Apple has notoriously sued other companies for various things. Now everyone else is suing apple for patent infringement and a slew of other offenses, and some of them have pretty strong cases. Their fat bank account makes it a prime target for litigation, which only detracts from its ability to provide valuable products and services.

#4 – Their products spy on you.

This isn’t news, and Apple certainly isn’t the only company with espionage built-in. But they really don’t like the idea of “hackers” poking around iOS. With Android and, to a lesser extent, Microsoft products it’s trivial for an experienced security professional to figure out what information is being collected. iOS can be jailbroken and analyzed just as well, but woe unto those who receive an update and have their iPhone bricked because they dared to jailbreak.

#5 – Apple’s leadership is alienating its customers.

In 2014 CEO Tim Cook famously said that those who aren’t of a particular political persuasion should sell Apple stock. He also said that he doesn’t always consider return-on-investment (ROI) when making business decisions. Perhaps people have different reasons for owning stock, but the most common is to get a return-on-investment. But it’s also more than that. People also buy Apple products to get a return-on-investment, whether its financial, emotional, or something else. Tim Cook’s comments indicate that he isn’t interested in serving customers in this way.

Is it too late for Apple?

Flexibility is a vital aspect of any technology. If it isn’t flexible, it can’t change rapidly to meet business or personal goals. Apple just might be turning back into the rigid, sluggish, and expensive relic it was in the late 1990’s. Just think of how AT&T is today. That could change, of course, but their ecosystem is set up in such a way that the longer you’re invested in their products, the harder it is to leave. Maybe we should take Tim Cook’s advice until Apple can get its act together.

Building Windows Server with Puppet and Chocolatey

Forget using scripts and group policies to configure a new Windows Server machine. Using Chocolatey and Puppet, you can do it faster & easier than ever (and it’s more fun too). This is especially true if you’re using a Server Core installation and don’t have a GUI to help you along. Oh, and if you don’t know Puppet, you really should watch my course Puppet Fundamentals for System Administrators on Pluralsight 🙂

Assign IP address using PowerShell:

$ New-NetIPAddress –InterfaceAlias "Ethernet" –IPAddress "192.168.51.29" –PrefixLength 24 -DefaultGateway 192.168.51.8

$ Set-DnsClientServerAddress -InterfaceAlias “Ethernet” -ServerAddresses 192.168.50.20, 192.168.50.21

Install Chocolatey:

$ set-executionpolicy unrestricted
$ iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

Restart PowerShell

Install VMware tools

$ choco install vmware-tools

The server will automatically restart.

Rename server

$ rename-computer -newname newservername

Reboot

restart-computer

Join to domain
add-computer -domain benpiper.com

Reboot again
restart-computer

Install Puppet
choco install puppet

Configure Puppet
Configure c:\programdata\puppetlabs\puppet\etc\puppet.conf

Generate puppet certificate
puppet_interactive

Sign puppet certificate on puppet master
puppet cert sign newservername

Apply appropriate profiles to server. Remember to restart the Puppet master if you change your Hiera configuration.

Run Puppet agent
puppet_interactive

Verify
puppet resource dism
puppet resource package

My Twitter Philosophy

In recent months, especially since the launch of my Pluralsight courses, I’ve been more active on Twitter (By “active” I mean I log in once or twice a week). During this short period, I’ve made a few passing observations about this strange place called Twitter:

1. “A lot of people follow me for a few days then unfollow me if I don’t follow them back”

There are so many things wrong with this. Following someone just so they’ll follow you back is selfish. It’s pretty obvious these folks are just using others to increase their follower count. They follow 5,000 people and have 4,999 people following them. Yeah, not impressed. Seeing this doesn’t make me think that person is influential. It makes me think they’re obsessive. Continue reading

Citrix Web Interface 5.4: Error occurred while making the requested connection

I recently ran into a bizarre issue with users not being able to launch applications from a very old Citrix Presentation Server 4.0 farm when trying to launch from Citrix Web Interface 5.4. They were getting the eminently unhelpful, “An error occurred while making the requested connection.”

In the web interface application logs, I noticed this:

An error of type IMA with an error ID of 0x80000003 was reported from the Citrix XML Service at address (servername)

And this:

The farm MyFarm has been configured to use launch references, but a launch reference was not received from the Citrix XML Service. Check that the farm supports launch references or disable launch reference requests.

To resolve this, I modified C:\inetpub\wwwroot\Citrix\XenApp\conf\WebInterface.conf on the Web Interface servers and changed the RequireLaunchReference directive as follows:
RequireLaunchReference=Off
(It was set to On)

And it worked. Supposedly, that directive must be set to Off when using Web Interface 5.4 with PS 4.0. But, I’ve been running for years with it set to On and it worked fine until recently. Another Citrix mystery.

Want more Citrix tips and tricks? Watch my course Citrix NetScaler 10: Design and Deployment!