VMware Guest Operating System Identifiers

As I have been going through the rebuild of my lab I began to think that I never want to this manually again !! So I started to look into ways to automate it. One of the things I needed to do was set the OSGuestType automatically. When looking for the various OS type I figured I would just look in an existing VMX file to the setting

Great!! I can just throw that into a script and away we go…..

NOPE!  The script would error over and over again. After lots of research and digging I finally came across the official listing of all the VMware Guest Operating System Identifiers Constants. Turns out I needed to use

I figured I would post this here for reference hopefully it will save someone else the hassle of having to dig through the API documentation

Enum Constants

asianux3_64Guest Asianux Server 3 (64 bit)  –  Since vSphere API 4.0
asianux3Guest Asianux Server 3  –  Since vSphere API 4.0
asianux4_64Guest Asianux Server 4 (64 bit)  –  Since vSphere API 4.0
asianux4Guest Asianux Server 4  –  Since vSphere API 4.0
asianux5_64Guest Asianux Server 5 (64 bit)  –  Since vSphere API 6.0
asianux7_64Guest Asianux Server 7 (64 bit)  –  Since vSphere API 6.5
centos6_64Guest CentOS 6 (64-bit)  –  Since vSphere API 6.5
centos64Guest CentOS 4/5 (64-bit)  –  Since vSphere API 4.1
centos6Guest CentOS 6  –  Since vSphere API 6.5
centos7_64Guest CentOS 7 (64-bit)  –  Since vSphere API 6.5
centos7Guest CentOS 7  –  Since vSphere API 6.5
centosGuest CentOS 4/5  –  Since vSphere API 4.1
coreos64Guest CoreOS Linux (64 bit)  –  Since vSphere API 6.0
darwin10_64Guest Mac OS 10.6 (64 bit)  –  Since vSphere API 5.0
darwin10Guest Mac OS 10.6  –  Since vSphere API 5.0
darwin11_64Guest Mac OS 10.7 (64 bit)  –  Since vSphere API 5.0
darwin11Guest Mac OS 10.7  –  Since vSphere API 5.0
darwin12_64Guest Mac OS 10.8 (64 bit)  –  Since vSphere API 5.5
darwin13_64Guest Mac OS 10.9 (64 bit)  –  Since vSphere API 5.5
darwin14_64Guest Mac OS 10.10 (64 bit)  –  Since vSphere API 6.0
darwin15_64Guest Mac OS 10.11 (64 bit)  –  Since vSphere API 6.5
darwin16_64Guest Mac OS 10.12 (64 bit)  –  Since vSphere API 6.5
darwin64Guest Mac OS 10.5 (64 bit)  –  Since vSphere API 4.0
darwinGuest Mac OS 10.5
debian10_64Guest Debian GNU/Linux 10 (64 bit)  –  Since vSphere API 6.5
debian10Guest Debian GNU/Linux 10  –  Since vSphere API 6.5
debian4_64Guest Debian GNU/Linux 4 (64 bit)  –  Since vSphere API 4.0
debian4Guest Debian GNU/Linux 4  –  Since vSphere API 4.0
debian5_64Guest Debian GNU/Linux 5 (64 bit)  –  Since vSphere API 4.0
debian5Guest Debian GNU/Linux 5  –  Since vSphere API 4.0
debian6_64Guest Debian GNU/Linux 6 (64 bit)  –  Since vSphere API 5.0
debian6Guest Debian GNU/Linux 6  –  Since vSphere API 5.0
debian7_64Guest Debian GNU/Linux 7 (64 bit)  –  Since vSphere API 5.5
debian7Guest Debian GNU/Linux 7  –  Since vSphere API 5.5
debian8_64Guest Debian GNU/Linux 8 (64 bit)  –  Since vSphere API 6.0
debian8Guest Debian GNU/Linux 8  –  Since vSphere API 6.0
debian9_64Guest Debian GNU/Linux 9 (64 bit)  –  Since vSphere API 6.5
debian9Guest Debian GNU/Linux 9  –  Since vSphere API 6.5
dosGuest MS-DOS.
eComStation2Guest eComStation 2.0  –  Since vSphere API 5.0
eComStationGuest eComStation 1.x  –  Since vSphere API 4.1
fedora64Guest Fedora Linux (64 bit)  –  Since vSphere API 5.1
fedoraGuest Fedora Linux  –  Since vSphere API 5.1
freebsd64Guest FreeBSD x64
freebsdGuest FreeBSD
genericLinuxGuest Other Linux  –  Since vSphere API 5.5
mandrakeGuest Mandrake Linux  –  Since vSphere API 5.5
mandriva64Guest Mandriva Linux (64 bit)  –  Since vSphere API 4.0
mandrivaGuest Mandriva Linux  –  Since vSphere API 4.0
netware4Guest Novell NetWare 4
netware5Guest Novell NetWare 5.1
netware6Guest Novell NetWare 6.x
nld9Guest Novell Linux Desktop 9
oesGuest Open Enterprise Server
openServer5Guest SCO OpenServer 5  –  Since vSphere API 4.0
openServer6Guest SCO OpenServer 6  –  Since vSphere API 4.0
opensuse64Guest OpenSUSE Linux (64 bit)  –  Since vSphere API 5.1
opensuseGuest OpenSUSE Linux  –  Since vSphere API 5.1
oracleLinux6_64Guest Oracle 6 (64-bit)  –  Since vSphere API 6.5
oracleLinux64Guest Oracle Linux 4/5 (64-bit)  –  Since vSphere API 4.1
oracleLinux6Guest Oracle 6  –  Since vSphere API 6.5
oracleLinux7_64Guest Oracle 7 (64-bit)  –  Since vSphere API 6.5
oracleLinux7Guest Oracle 7  –  Since vSphere API 6.5
oracleLinuxGuest Oracle Linux 4/5  –  Since vSphere API 4.1
os2Guest OS/2
other24xLinux64Guest Linux 2.4x Kernel (64 bit) (experimental)
other24xLinuxGuest Linux 2.4x Kernel
other26xLinux64Guest Linux 2.6x Kernel (64 bit) (experimental)
other26xLinuxGuest Linux 2.6x Kernel
other3xLinux64Guest Linux 3.x Kernel (64 bit)  –  Since vSphere API 5.5
other3xLinuxGuest Linux 3.x Kernel  –  Since vSphere API 5.5
otherGuest Other Operating System
otherGuest64 Other Operating System (64 bit) (experimental)
otherLinux64Guest Linux (64 bit) (experimental)
otherLinuxGuest Linux 2.2x Kernel
redhatGuest Red Hat Linux 2.1
rhel2Guest Red Hat Enterprise Linux 2
rhel3_64Guest Red Hat Enterprise Linux 3 (64 bit)
rhel3Guest Red Hat Enterprise Linux 3
rhel4_64Guest Red Hat Enterprise Linux 4 (64 bit)
rhel4Guest Red Hat Enterprise Linux 4
rhel5_64Guest Red Hat Enterprise Linux 5 (64 bit) (experimental)  –  Since VI API 2.5
rhel5Guest Red Hat Enterprise Linux 5  –  Since VI API 2.5
rhel6_64Guest Red Hat Enterprise Linux 6 (64 bit)  –  Since vSphere API 4.0
rhel6Guest Red Hat Enterprise Linux 6  –  Since vSphere API 4.0
rhel7_64Guest Red Hat Enterprise Linux 7 (64 bit)  –  Since vSphere API 5.5
rhel7Guest Red Hat Enterprise Linux 7  –  Since vSphere API 5.5
sjdsGuest Sun Java Desktop System
sles10_64Guest Suse Linux Enterprise Server 10 (64 bit) (experimental)  –  Since VI API 2.5
sles10Guest Suse linux Enterprise Server 10  –  Since VI API 2.5
sles11_64Guest Suse Linux Enterprise Server 11 (64 bit)  –  Since vSphere API 4.0
sles11Guest Suse linux Enterprise Server 11  –  Since vSphere API 4.0
sles12_64Guest Suse Linux Enterprise Server 12 (64 bit)  –  Since vSphere API 5.5
sles12Guest Suse linux Enterprise Server 12  –  Since vSphere API 5.5
sles64Guest Suse Linux Enterprise Server 9 (64 bit)
slesGuest Suse Linux Enterprise Server 9
solaris10_64Guest Solaris 10 (64 bit) (experimental)
solaris10Guest Solaris 10 (32 bit) (experimental)
solaris11_64Guest Solaris 11 (64 bit)Since vSphere API 5.0
solaris6Guest Solaris 6
solaris7Guest Solaris 7
solaris8Guest Solaris 8
solaris9Guest Solaris 9
suse64Guest Suse Linux (64 bit)
suseGuest Suse Linux
turboLinux64Guest Turbolinux (64 bit)  –  Since vSphere API 4.0
turboLinuxGuest Turbolinux
ubuntu64Guest Ubuntu Linux (64 bit)
ubuntuGuest Ubuntu Linux
unixWare7Guest SCO UnixWare 7  –  Since vSphere API 4.0
vmkernel5Guest VMware ESX 5  –  Since vSphere API 5.0
vmkernel65Guest VMware ESX 6.5  –  Since vSphere API 6.5
vmkernel6Guest VMware ESX 6  –  Since vSphere API 6.0
vmkernelGuest VMware ESX 4  –  Since vSphere API 5.0
vmwarePhoton64Guest VMware Photon (64 bit)  –  Since vSphere API 6.5
win2000AdvServGuest Windows 2000 Advanced Server
win2000ProGuest Windows 2000 Professional
win2000ServGuest Windows 2000 Server
win31Guest Windows 3.1
win95Guest Windows 95
win98Guest Windows 98
windows7_64Guest Windows 7 (64 bit)  –  Since vSphere API 4.0
windows7Guest Windows 7  –  Since vSphere API 4.0
windows7Server64Guest Windows Server 2008 R2 (64 bit)  –  Since vSphere API 4.0
windows8_64Guest Windows 8 (64 bit)  –  Since vSphere API 5.0
windows8Guest Windows 8  –  Since vSphere API 5.0
windows8Server64Guest Windows 8 Server (64 bit)  –  Since vSphere API 5.0
windows9_64Guest Windows 10 (64 bit)  –  Since vSphere API 6.0
windows9Guest Windows 10  –  Since vSphere API 6.0
windows9Server64Guest Windows 10 Server (64 bit)  –  Since vSphere API 6.0
windowsHyperVGuest Windows Hyper-V  –  Since vSphere API 5.5
winLonghorn64Guest Windows Longhorn (64 bit) (experimental)  –  Since VI API 2.5
winLonghornGuest Windows Longhorn (experimental)  –  Since VI API 2.5
winMeGuest Windows Millenium Edition
winNetBusinessGuest Windows Small Business Server 2003
winNetDatacenter64Guest Windows Server 2003, Datacenter Edition (64 bit) (experimental)  –Since VI API 2.5
winNetDatacenterGuest Windows Server 2003, Datacenter Edition  –  Since VI API 2.5
winNetEnterprise64Guest Windows Server 2003, Enterprise Edition (64 bit)
winNetEnterpriseGuest Windows Server 2003, Enterprise Edition
winNetStandard64Guest Windows Server 2003, Standard Edition (64 bit)
winNetStandardGuest Windows Server 2003, Standard Edition
winNetWebGuest Windows Server 2003, Web Edition
winNTGuest Windows NT 4
winVista64Guest Windows Vista (64 bit)
winVistaGuest Windows Vista
winXPHomeGuest Windows XP Home Edition
winXPPro64Guest Windows XP Professional Edition (64 bit)
winXPProGuest Windows XP Professional

Permanent link to this article: http://www.fatpacket.com/blog/2016/12/vm-guestos-identifiers/

New Tagline, More New Builds

I decided to change my tag line from “More than Jumbo Frames” to “Where Rebuilds Happen” for the simple fact that I have spent the last two weekends rebuilding my home lab.  Over the next few entries I hope to document some of the changes and updates.  The biggest change will be more of an emphasis on virtualization.  The rebuild forced me to create/recreate a ton of virtual machines and it dawned on my it was time to try a few different techniques to accomplish this.  My ultimate goal will be to implement the vRealize Automation (vRA) Suite but until I have sufficient time to get my hands dirty with that I needed something quick.  VMware templates have worked in the past but I always found myself making tiny tweaks to the new built machines and then going back each previous machine built with that template and making the same tweak. Eventually I would go back to update the template so new machines will be configured out of the box. -Config Drift – This became a vicious circle for me. So after much trial and error, I decided to implement Microsoft Deployment Toolkit (MDT). The concept of a clean build for each virtual machine is very appealing to me. I create a boot iso that is attached to my VM at creation. This kickstart iso provides just enough information for the guest VM to find the PXE server and install images I have available to build from.

I probably wont spend cycles on blogging about MDT and how to setup boot iso’s as there are tons of articles our there already. Derek Seaman has a great article out there for injecting VMware drivers into a 2012 boot iso and there are many more including the one I used to setup my environment which can be found here. In the future I may incorporate being able to PXE boot some of my linux installs using the same MDT environment but at present I do not do too much with linux nodes.  That may change as I broaden out into Openstack and Docker but right now those fall in the same category as vRA, on the list but subject to time.

Just in closing, I know some people prefer VMware templates and customized OS Specs in order to deploy new VM’s. I suppose to each their own and both ways are very viable. I know in the future VMware will be doing more with linked clones and other cloning technology. More to come on that in the future but for now – Its all about the Rebuild…

Permanent link to this article: http://www.fatpacket.com/blog/2016/12/new-tagline-more-new-builds/

And so it Begins

I have had this blog for almost 24 months or so and as you can tell its fairly devoid of content. I have been trying to decide what it was going to be: a certification blog, a tech blog, personal thoughts or ramblings.  This analysis has lead to a bit of paralysis and the end result has been a bit of nothing.  So today I finally decided I would pick up the pen and paper (figuratively) and just start.  The content will very from general tech, to datacenter, to random musings.  It goes without saying that my opinions are my own and do not reflect the opinions of those I work with or work for.  I am currently under several NDA’s with various manufactures including my current employer and as such the posts on this site will abide any and all terms within these agreements.

I am sure I will start slow and gain more confidence as time progresses. Given that I am a new blogger I appreciate any and all advice my fellow colleagues may have. And so it begins. I look forward to expressing my thoughts and I hope you enjoy the content.

Permanent link to this article: http://www.fatpacket.com/blog/2016/05/and-so-it-begins/