Virtual Machine Additions is a very important component to running a virtual machine. You must install Virtual Machine Additions on all virtual machines.
Virtual Machine Additions adds the following enhancements to a guest operating system:
• Improved mouse cursor tracking and control
• Greatly improved overall performance
• Virtual machine heartbeat generator
• Optional time synchronization with the clock of the physical computer
Monday, September 29, 2008
Installing Virtual Machine Additions on Server Core
Sunday, September 28, 2008
Alonso tops inaugural Singapore Grand Prix
Saturday, September 27, 2008
Singapore Grand Prix Weekend
I just got back from a walkabout in Geylang Serai with the family. This, after a heavy dinner binge at one of the newly refurbished coffeeshops near our block. The food was great, we're stuffed full which made the walkabout doubly tougher.
The circuit runs through the very heart of Singapore's heritage and business center. Notable sights include St. Andrew's Road, beside the City Hall, Raffles Boulevard, overlooking the Esplanade and the Singapore Flyer, the historic Anderson Bridge along the reknowned Fullerton Hotel, just to name a few.And here's some breaking news, Felipe Mass will be in the pole position when the race kicks off tomorrow. A late burst near the end of the last qualifying run enabled the Brazilian to edge out Britain's Lewis Hamilton. If this is not an indication of how close and exciting the race will turn out tomorrow night, I don't know what will.
- Felipe Massa (Ferrari)
- Lewis Hamilton (McLaren-Mercedes)
- Kimi Räikkönen (Ferrari)
- Robert Kubica (BMW Sauber)
- Heikki Kovalainen (McLaren-Mercedes)
- Nick Heidfeld (BMW Sauber)
- Sebastian Vettel (STR-Ferrari)
- Timo Glock (Toyota)
- Nico Rosberg (Williams-Toyota)
- Kazuki Nakajima (Williams-Toyota)
Friday, September 26, 2008
Hilarious Pics Series: Funny Sign
Can you spot something peculiar about this sign? My wife and I bumped into this one weekend on our way to the grocery. I nearly doubled up laughing; my wife had to whack me with a Manny Pacquiao-like right-cross as the lady manning (no pun, really) the shop was giving me the "i'm gonna ktfo this fella" stare.
Thursday, September 25, 2008
Microsoft TechFEST 2008 (Singapore)
Sunday, September 21, 2008
"Command-Prompt" Ninjitsu
Not since the olden DOS days have I been fascinated with the command line interface (CLI) as with the advent of the CLI-only Windows Server 2008 Server Core.
Back then, I used to dabble in scripting batch files to automate a lot of routine tasks. For example, I would run a script to format a floppy diskette, prompt the user to insert a source diskette to be copied, runs diskcopy and labels the diskette. It was considered l33t to be able to come up with complex scripts, passing parameters and arguments, catching errorlevels and other stuff. Even the prompt itself was not spared; intricate designs were the norm back then.

This interest in CLI carried on when I worked on Solaris stuff some years back. Around this period, I also ventured in the world of different Linux distros and *nix; working on bash, sh, ksh and the other sh were part and parcel of my weekend projects mostly on perl snippets.
When Powershell was introduced two years ago, I was one of the early adopters from my team. I thought integrating a full-pledged OOP platform through scripting was heaven-sent; running cmdlets from the shell, piping results to other cmdlets was rather nifty. And the script-debugging feature available in version 2.0 is, to the syntax-challenged me, a huge huge plus.
I had my fair share of ups and downs with the different CLIs I have had the chance to play around with. But still, the good-ol' cmd.exe is my main choice, hands down. It is THE CLI for me; the one CLI to rule 'em all. In fact, at any given time, I will have a minimum of two elevated cmd.exe windows on my desktop. Be it querying the registry of a remote machine, modifying the properties of an AD account, copying files to multiple target hosts, to name a few, this is the CLI for me.
And while I'm on a CLI-induced stupor, I would like to share this Windows Command Reference from Microsoft. Again, every administrator worth his skin should be adept at using command-line tools to perform routine administrative tasks; in fact, in my case, I have an elevated command prompt (where I run all admin-related checks, scripts, tools, etc.) on my desktop as part and parcel of my day-to-day work. There seems to be a command-line tool for every admin task, be it fiddling with DNS management (dnscmd), managing AD trusts (netdom), parsing event trace logs (tracerpt), directory copying on steroids (robocopy), backing-up (wbadmin), and so on. Incorporating these tools in scripts is likewise key in automating a lot of tasks thereby allowing an administrator to do more work in a more efficient manner and in lesser amount of time. Mastery of these tools is essential for an administrator; mastering the CLI is godly.Saturday, September 20, 2008
Adding Pictures to an Active Directory Account
I was hoping someone could explain the use of User Account pictures in 2008, is this feature expected to be integrated into AD at some point?We are setting up 2008 Terminal Services and what I would like to do is automate the user account pictures for my users and link them to a central store of pictures. So if User "Alan Other" logs in he gets "AlanOther.bmp" pulled into his profile and set as his Picture.I can script the fie moves etc, but what I can't seem to find is where to set the picture in the Reigistry.The only thing currently open to us is to standarise the picture using Group Policy.Anyone any ideas?
Tuesday, September 16, 2008
Financial Sector Anxieties

Sunday, September 14, 2008
Toy Collections
My son is currently obsessed with completing his Bionicle collection. I was even prodded to buy him the Bionicle Heroes XBox 360 game after he made marked improvements in his reading and spelling skills; the truth is, I was not keen of buying this game (I was thinking of getting GTA 4 but my wife wouldn't buy the "this-game-is-gonna-improve-his-language-skills" My daughter has a roomful of toys; an assortment of Barbies, stuff toys, keychains and other trinkets, and more. What a relief she is not into toys anymore. At the moment, she is very much into manga and sketching; worth another blog post, I might say. Oh, and she is deep into her assessment exams review; so the less the distractions, the better for her.

Some examples of their toy collections are shown. We plan to buy a glass cabinet or special enclosure for these and the other collections. I want my space (on my hanging cabinet, my computer desk, my store room) back; for my own collections, of course. I need room for my Maxim, FHM, EGM, etc collections. Not.
Saturday, September 13, 2008
CERN Website Defaced
Now guess what? Some so-called GST (Greek Security Team) hackers defaced CERN's website (CERN operates the LHC). Gizmodo reported that the hackers got in so deep, say reports, that they were "one step away" from cracking into the computer control system of one of the LHC's "detectors."I've still to see the mirror of the defaced page in Zone-H but I guess score one for the hackers this round. I wonder what vulnerability these boys exploited to compromise the server hosting the website. I'm keeping eye on this.
Friday, September 12, 2008
Mantis Shrimp Splurges
Thursday, September 11, 2008
Changing a User's Profile Path (VBS)
One such script delves on changing the "profilePath" property of thousands of users (this one is from the Technet forum). Being the KISS (that is "Keep It Simple and Straightforward" for you) advocate that is me, I went to create a simple, short, quick and dirty script.
First, I had to generate a list of all the users in my domain. I can, in fact, accomplish this using adsi within the main script itself. However, the fastest way to do it is actually running the net users /domain command from the CLI and piping the output to users.ini.
The ChangeUserProfilePath sub-routine has the old and the new profile paths defined (oldProfile and newProfile). The Replace string function is used to substitute oldProfile with newProfile. The resulting string, strNewProfilePath, is then set to the "profilePath" property of the user account being processed. An initial check is made to verify if the oldProfile string is located in the user's profile property (sUser.Profile). If and only if this condition is met is the profilePath updated.
Wednesday, September 10, 2008
Google Releases Chrome Patch (0.2.149.29)
Tuesday, September 9, 2008
IE7 vs Chrome (SunSpider Javascript Benchmark)
Ah, but Microsoft is not sitting idle as far as the browser race is concerned. Early last month, Internet Explorer 8 Beta has been released. I'm going to give this Chrome-worthy contender a spin in the coming days and see how it fares.
Script to Rename Files (VBS)
I have a collection of files in a directory with this filename formats:
zipname-date.ZIP.source.destination.timecreated
Where:
ZipName - Flexible; filename is created automatically
Source / Destination - Normal value is from 0001 to 9999
Sample:
Account20080909.zip.1.0001.0901
Account20080909.zip.1.0025.0902
Account20080909.zip.1.0110.0910
Group20080909.zip.1.0110.0905
Group20080909.zip.1.0025.0903
Group20080909.zip.1.0001.0904
Scenario:
I want to copy the file and rename file with 0001 by removing the trailing extensions, just retain the zip file, see sample output:
Account20080909.zip.1.0001.0901 to Account20080909.zip
Group20080909.zip.1.0001.0904 to Group20080909.zip
Is this possible?
Here's a script I came up with to rename the files:
Option Explicit
On Error Resume Next
Dim objFSO
Dim strSource, strDestination
Dim strFile1, strFile2
Dim x, y, z, arrFiles
strSource = "C:\Source"
strDestination ="C:\Target"
Set objFSO = CreateObject("Scripting.FileSystemObject")
arrFiles = split(ListFiles(strSource), vbCrLf)
For x=0 to Ubound(arrFiles)
z=Instr(arrFiles(x),".0001")
if z > 0 then
y=Instr(arrFiles(x), "zip")
strFile2=Left(arrFiles(x),Len(arrFiles(x))-y-3)
objFSO.CopyFile strSource & "\" & arrFiles(x), _
strDestination _ & "\" & strFile2, True
Else
'not .0001 file
end if
Next
Function ListFiles(strFolder)
Dim strFiles, FSObj, FDir, FS, sFile
strFiles = ""
Set FSObj = CreateObject("Scripting.FileSystemObject")
Set FDir = FSObj.GetFolder(strFolder)
set FS = FDir.Files
For Each sFile in FS
strFiles = strFiles & sFile.name & chr(13) & Chr(10)
Next
ListFiles = strFiles
Set FSObj = Nothing
End Function
Here's the link from the Technet forum: http://forums.technet.microsoft.com/en-US/ITCG/thread/4dbeceaa-e6d2-4a1e-a10a-e46011f4359f.
Monday, September 8, 2008
Gastronomic delights
In my travels across the region, I have made it a point to try the local fare as much as I can, though I must admit I have had second (make that a dozen) thoughts when faced with such strange looking cuisines like this one I had in Batam. I reckon this one was served in a nasi padang stall in Batamindo. It was crispy, and tasted good actually especially with the special sambal it was served with.

Of course, it is not always alien-y as far as the food I've tried in the different countries I've been to are concerned. The chendol (http://en.wikipedia.org/wiki/Cendol) in Malacca, Malaysia (this one is a fair distance away from our Malacca office, prolly 15-20 minutes by car) is heavenly. Pak Putra's tandoori chicken (http://en.wikipedia.org/wiki/Tandoori_chicken) near Jonker street (or was it walk?) is heavenly. The Capitol satay celup (http://en.wikipedia.org/wiki/Satay_celup) is a die-die must try fare. I could go waxing lyrical about the food I have had and end up with a lengthy, and boring, rhetoric. I will, instead, from time to time, blog about some of these wonderful cuisines.
I tried this pork knuckle, I cannot recall the German word for it but it was a tongue-twister, in Regensburg (in one of the shops in the mall behind the railway station) and it was just fantastic, sinful to say the least. I'd really love to have another round of this beast.
Sunday, September 7, 2008
Disable USB Storage using a VBS script
You need to restrict USB storage access on a shared Windows 2000 PC to prevent users from copying any sensitive information to portable USB storage devices (thumb drives, iPod, MP3 player, mobile phones, etc.). You need to implement a “reversible” solution (this rules out super glue, thanks) and must not cost you an arm and a leg. Here’s a homebrew solution which disables (or enables back) the USB storage function of a PC.
Here's a homebrewn solution (the script uses the resource kit tools Reg.exe and SubinACL.exe):
'variables & constants
Const HKEY_LOCAL_MACHINE = &H80000002
Dim strComputer, strFunction
Dim oShell
Dim oStat
'**** main *****
Set oShell = CreateObject("WScript.Shell")
oStat = False
strComputer = ""
strFunction = ""
'Input ComputerName via an inputbox
strComputer = InputBox("Remote PC's HostName :", _
"USB-Buster Release Candidate (c)", strComputer)
if StrComputer = "" Then
MsgBox ("Null value! Exiting...")
Wscript.Quit
Else
If ping(strComputer) = True Then
'Client is online, do nothing
Else
MsgBox("Error! " & strComputer & " is OFFLINE!")
Wscript.Quit
End If
End if
While strFunction = "" or oStat <> True
strFunction = InputBox("Enable [1] or Disable [2] USB :", _
"USB-Buster Release Candidate (c)", strFunction)
if strFunction = "" Then
MsgBox("Null value! Please enter a valid option ('1' OR '2')")
else
Select case strFunction
case "1"
oStat=True
EnableUSB
case "2"
ostat=True
DisableUSB
case else
MsgBox("Invalid input! Enter a valid option ('1' OR '2')")
oStat=False
end select
end if
Wend
oStat = ""
strComputer = ""
strFunction = ""
'Use Resource Kit Tools (reg.exe and subinacl.exe [latest version]) to
'modify the USBStor start value
'and set deny permissions on the key
'********** Procedures/Subroutines Section *************************
Sub DisableUSB()
oShell.Run "reg add ""\\" & strComputer & _
"\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR""" _
& " /v Start /t REG_DWORD /d 4 /f"
oshell.Run "subinacl /keyreg ""\\" & strComputer & _
"\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR""" & _
" /deny=system /deny=users /deny=administrators"
End Sub
Sub EnableUSB()
oshell.Run "subinacl /keyreg ""\\" & strComputer & _
"\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR""" & _
" /grant=system /grant=users=R /grant=administrators"
oShell.Run "reg add ""\\" & strComputer & _
"\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR""" & _
" /v Start /t REG_DWORD /d 3 /f"
End Sub
'********FUNCTION CALL(S)*********************************
'Ping - to check if computer is connected to the network
Function ping(arg)
With createobject("Wscript.Shell")
'Ping computer
ping = Not CBool(.run("ping " & arg,0,True))
End With
End Function
Saturday, September 6, 2008
Pursuits in times of indolence
Being idle these past days rekindled my interest in some of the things I used to do a lot in the past (especially when I was away from my family years back). I downloaded the full Visual Studio 2008 Express DVD and started a few small projects, both for work and for fun. I just finished an animated screensaver of my kids photos using Visual C#; nothing fancy but the sort of thing to re-sharpen the "programming" saw, rusty from months of inactivity. I also started on a proof-of-concept for my project in the coming fiscal year which is all about harmonizing our secure and restrictive computing environment in the fab across the Asia-Pacific region; this POC will be a front-end for a CMDB-cum-Baseline Configuration solution. Configuration drifts, especially for those handling the standard operating environment of an enterprise, is a real pain, I tell you. Anyway, I am not a developer so this C# application will just be a rudimentary solution and I will have to hand this over to a "real" developer when the project kicks off. I also finished our login script which is specially crafted for the Vista OS as we are in the midst of deploying this OS, updated my backup-restore script for our users in this migration to include some error-checking routines, plus some Powershell exercises.Since the TV is glued to either the Cartoon Network or TFC (I'm telling you, this world will soon be ruled by kids and mothers-in-law), I found time to do some sketching. I used to have a sketch pad which I lost when I got assigned in Bangalore a few years back. It had in it a number of doodles, squiggles, cartoons, portraits and what-nots which I've done during periods of
Oh, and yeah, I found time to start a new blog. ;-)
Google Chrome Inspect Element Denial-of-Service Exploit
http://www.milw0rm.com/exploits/6386
And what does this do? Not much really, it just crashes ALL your open Chrome windows. ;-)
Google Chrome's Porn Incognito Mode

One feature that stands out, as far as I am concerned, is the Incognito mode. Although this is nothing new, Safari has a "private" mode for some time while IE8 Beta has the "in private" mode, it is a welcome feature to those
I love the Incognito icon, it's kinda bad-ass. A side note, browsing in this mode only keeps Chrome from storing information about the websites and pages you have visited. The websites you have visited may still have records of your visit.
Ad initium
I am married to a great woman, a father of two wonderful kids, aged 6 and 10, living in the tiny red dot that is Singapore. I work as an IT engineer for a German manufacturing company (yeah, I love my job) doing a bit of travelling across the Asia-Pacific region (and the occasional trips to EU). I love to dabble on new and emerging technologies, specifically in the Microsoft front, to get some sort of a headstart in learning these technologies and be able to utilize these in my day-to-day work. In fact, I will be posting quite a great deal on such topics.
Want more? I love music. I play the guitar and the keyboards. I compose songs (fact is, I wrote one for the wife). I love playing basketball (though I've cut down on this activity lately because of my bum knee and back); you'd catch me shooting hoops at the community center near my place on weekends. I love to cook. And eat! I could go on and on with this, you know.
Let's cut to the chase, there's so much in life to enjoy, to share, and to write about and I cannot wait to start chronicling my adventures!










