Ashish's Note

Over the past few years, I learnt a lot and get fond of Microsoft Technlogy. From The basics of Active Directory to the high end troubleshooting and disaster recovery, to the VPN configuration, Its being a good time for me as I got lots of opportunities to learn and grow.

In 2004, I got hired by "Microsoft" as a full time employee in its GTSC located in Bangalore. I experienced hardcore troubleshooting on real time issues as a big challange and very very intersting, which gave me vibrant knowledge of Operating System Troubleshooting, Active Directory, Clustering, Performance, Disks, Terminal Server, Printing, STOP Codes and BSOD screens.

My Fantastic past experience on HP/MSCS cluster, Server Hardware and System Administration, boosted my skills to take charge of customer's problem and make me to deal with the issues till the resolution.

Today working with Perot Systems, I am using this Blog to contribute my knowledge to the society and to make every individual who need directives to grow in IT field.

Lets post your views and questions you have, hit my brain to let it mentor the best possible IT solutions and career options.


Ashish Sharma.

Sunday, April 27, 2008

How we Understand a Cluster

This is the good one I found on one of the MVP blog:

Clustering terms made easy
Clusters are Highly Available and should never be considered Fault Tolerant.

Highly Available = is when I come anytime my wife calls me.

Fault Tolerant = Marriage.

You don't want to be married to you SQL/Exchange Cluster :)

You do want it around whenever you need it though.
Active/Active = when your cluster is too busy for its own good.

Active/Passive = one worker, one manager, you decide which is which.

Node = Clustered computer, could also be the worker who sits in a cube, not to be confused with Dude.

Virtual Server = this is kind of like be on a telecom at work, only you are calling in from Hawaii and nobody knows.

Quorum = Cluster=Quorum, Quorum=Clustering.

Failover = the only time at work that you can fail and still be a hero.

Failback = great way to get fired, let your server failover without you controlling it (Don't confuse with the above term).

Cluster = when it fails, also known as a Cluster Fork, only fork is spelled funny - u c what I mean?

Script for Windows System Information

Last week for a small project to pull system info from 500 server, I used the following vbs script (found on google search as I not good in writing scripts) to pull WMI info for OS version, SP, Processor, Memory:

On Error Resume Next
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("c:\computers.txt", ForReading) 'Check the location of the file.
strComputers = objTextFile.ReadAll
arrComputers = Split(strComputers, vbCrLf)
Set objShell = CreateObject("WScript.Shell")
For Each strComputer In arrComputers
strComputer = arrComputers
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery _
("SELECT * FROM Win32_OperatingSystem")
For Each objOperatingSystem in colSettings
Wscript.Echo "OS Name: " & objOperatingSystem.Name
Wscript.Echo "Version: " & objOperatingSystem.Version
Wscript.Echo "Service Pack: " & _
objOperatingSystem.ServicePackMajorVersion _
& "." & objOperatingSystem.ServicePackMinorVersion
Wscript.Echo "OS Manufacturer: " & objOperatingSystem.Manufacturer
Wscript.Echo "Windows Directory: " & _
Wscript.Echo "Locale: " & objOperatingSystem.Locale
Wscript.Echo "Available Physical Memory: " & _
Wscript.Echo "Total Virtual Memory: " & _
Wscript.Echo "Available Virtual Memory: " & _
Wscript.Echo "OS Name: " & objOperatingSystem.SizeStoredInPagingFiles
Set colSettings = objWMIService.ExecQuery _
("SELECT * FROM Win32_ComputerSystem")
For Each objComputer in colSettings
Wscript.Echo "System Name: " & objComputer.Name
Wscript.Echo "System Manufacturer: " & objComputer.Manufacturer
Wscript.Echo "System Model: " & objComputer.Model
Wscript.Echo "Time Zone: " & objComputer.CurrentTimeZone
Wscript.Echo "Total Physical Memory: " & _
Set colSettings = objWMIService.ExecQuery _
("SELECT * FROM Win32_Processor")
For Each objProcessor in colSettings
Wscript.Echo "System Type: " & objProcessor.Architecture
Wscript.Echo "Processor: " & objProcessor.Description
Set colSettings = objWMIService.ExecQuery _
For Each objBIOS in colSettings
Wscript.Echo "BIOS Version: " & objBIOS.Version

Its a nice one to solve my purpose!!

Installed Exchange 2007 today

Yesterday I install Exchange 2007 for a single domain and got an experience to a truly new messaging and colloboration solution. The administration and configuration doesn't match with Exchange 2003. I shall say its really different.
There are lot of features which are new or enahanced to give a better messaging solution.

This enable Mobile, desktop, remote, web, intranet and Internet users to colloborate and share message and emails in a well secure (Forefront securety come with Exchange 2007) manner.

This was a long project initiated by one of my friend where he was not able to configure Exchange 2007. He called me for the help and I pulled out some time to reach him. I found few mistakes which he was doing in configuring SMTP traffic on his router and then creating send and receive rules in Exchange hub transport configuration.

Overall I found it easy and installed and configured the product in less them 2 hrs of time.

Nice experience again with a well built product by Microsoft!!!
THat why I love MS!!!!