PowerShell Report of Office 365 Licenses Assignments

In the last post, we talked about reporting how many users you created yesterday or in last 7 days or may be in last six months. A similar requirement is to know how many Office 365 licenses you assigned in last 24 hrs or in last 7 days. Not really perfect way of reporting the same but a workaround PowerShell script for the same purpose might be as given below:

# !Author! Nitish Kumar

$file = "c:\temp\NewUsersLicense_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv"
# If Okay with storing password in the script
$User = "DummyUserName"
$password = 'DummyPassword' | ConvertTo-SecureString -asPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ($User, $password )

# Uncomment the below line and comment three lines above it if want to take credentials as input
# $cred = Get-Credential
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic –AllowRedirection
Import-PSSession $s

Get-Mailbox -resultsize unlimited | where {$_.WhenMailboxCreated -gt (get-date).adddays(-1)} |Select-Object DisplayName,UserPrincipalName,WindowsEmailAddress,whenMailboxCreated,MailboxPlan | Export-Csv "$file" -noTypeInformation

$style = "
<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>

"

$smtpServer = "Your SMTP Server URL/ IP"
$att = new-object Net.Mail.Attachment($file)
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "Your_From_Email_ID here"
$msg.To.Add("Your_To_Email_ID here")
$msg.Subject = "Report of Licenses assigned in last 24 hrs"
$body = "<b>Dear Team</b>"
$body += "Attached are the Report of Licenses assigned in last 24 hrs"
$body += Import-Csv -Path $file | ConvertTo-Html -Head $style
$body += ""
$body += "<b>Regards</b>"
$msg.Body = $body
$msg.IsBodyHTML = $true
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()

#End of script

The issue with the above script is only one, it needs the password in Plain Text to be stored in the script to be automated and in case one doesn’t want it to be automated then can work with the alternate way mentioned in the script (Commented right now).

Finally a group trip to Agra blessed with good weather luckily

What kind of year puts 2nd October, Christmas, Diwali all on Sundays? Yeah.. its current year 2016 only, which left the cult status holding August mid as almost the last long holiday to roam places for professionals across India. Result??? Almost each popular destination across Metro was supposed to be flooded with desperate crowd looking to have a good time.

This year cult August Mid had kind of double treat considering not only Monday was off but a Thursday too, means those who missed the first long weekend Sat-Sun-Mon, were allowed to make it into the second weekend after taking just one day Friday off ending up having Thu-Fri-Sat-Sun. The same scenario enabled those offices with multiple shifts overcoming the issue of only one of them getting the chance and others slogging through weekends. But for me, it was still tough considering the question that where to go?

Been to Lansdowne few weeks back, been to Nainital in April end, been to Dharamshala in mid of March, been to Manali in last December, been to Rishikesh before that, Mussoorie trip would have been of no point, then where to go? Sitting back home was kind of becoming only option considering unavailability of hotels in all major hills around Delhi, but then knowing that there is no other long weekend left this year, we had to go for some trip.

DSCN8088

We explored the idea of a Chail monsoon trip as never been to Shimla side but then colleague from Mohali and others who been to that area warned about the kind of roads in last leg of journey during unpredictable Monsoon. Same time hotel rates and unavailability in general became last nail to coffin of another Shimla side plans. (That side trip always getting dropped in planning stage since a while, let’s see when I manage to change that.)

Agra was selected based on shortest possible distance though I been to Agra once (before marriage), wife been to Agra once (before marriage), brother been to Agra once last year itself and the only partners who haven’t been to Agra were brother’s wife and my daughter. That was enough excuse for us to go for another trip.

Booking hotel through GOIbibo was another ordeal. Brother booked the same and at first Hotel Karan Vilas was confirmed by GOIbibo but brother got call from hotel that they don’t have any rooms available. On reaching out to GoIbibo support, he was ridiculously asked to cancel the booking and bear the charges of 500 Rs on him, which sure was enough to make us furious as what fault was on our part?

Later after discussing with seniors in GoIbibo support, we been offered Hotel Orchid. Hotel Karan Vilas which we had selected was on Main road, had swimming pools etc while this one was little off-road and without swimming pool etc so this was sure a rip-off on us but we okayed it at the end. Though later on during the trip, we got call from same Hotel Karan Vilas that they are holding two rooms for us. Don’t know where the miscommunication was but then we ended up in Hotel Orchid only.

Continue reading “Finally a group trip to Agra blessed with good weather luckily”

Single day family trip to Lansdowne

Don’t know if the trip to Dharamshala side has raised the bars or I am out of luck about hill trips in recent that not getting enough satisfaction from the hill drives. After last hill trip in April, last week of June 2016 seen another quick hill trip and this time destination was Lansdowne.

The plan for the trip came in mind as brother’s wife was dropping by for two days and we planned to take around hills. Later on, it was realized that it would be too hectic for her and the plan was dropped. But too late to save me from the poison of travel bug…..

We decided to take on the hill trip one week before it was planned and even though wanted to accommodate brother as well, it was again a family trip only.

DSCN7949


As been a norm for our hill trips, we started early from our apartment at Faridabad and first stop was taken at around 0530 hrs near Modinagar.

IMG_1403

The route may be of less than 270kms, don’t expect to cover the same in less than 6 hours, thanks to road and traffic conditions. Not some kind of worse but not super highways either. We got stuck for few mins at Najibabad area, where Bus station/ Railways station by the road were enough to create jam.

IMG_1411

Before 0900 hrs, we had crossed Kotdwara which is the point from where hills start. The above pictures were taken around Mankot, which was few kms before.

DSCN7950

And almost after 10kms another stop. Roads were ok in condition though on narrower side. Would have been trouble if both side traffic though that day being kind of non-season may be and early morning, it was manageable though bottleneck to speed. After taking many a stops, we might have reached there by some 1100 hrs.

Parking wasn’t tough though for my surprise, it was sufficiently crowded. Bigger surprise was the hotel room tariffs as none of them was either available or less than even 2000 Rs a night. This was sure high for such a small hill station as I expected such rates in Shimla etc but not in Lansdowne at least. Before even starting to explore the area, the decision was made that it would be single day trip than two days as it was earlier planned.

We stopped at good restaurant for the Aaloo-Paneer Paranthas and tea and then moved towards the lake.

DSCN7957DSCN7958

The lake, which even though might be looking ok in picture, wasn’t in good conditions in this season at least. Dirty and stopped water, not sure how it remains in other seasons or post rains. Good thing about it was proper parking place, nearby lawn etc.

DSCN7955DSCN7968DSCN7962

Don’t remember exactly but Entry ticket prices were nominal and even boating prices were ok though we chosen not to do boating (time constraint and disliking for the water here).

DSCN7986

There was a rabbit house in the lawn side which was the main attraction for kiddo.

DSCN7956DSCN7988

After spending almost an hour there, we moved towards tiffin top. After driving a little, there comes a place, where the road to tiffin top was mentioned but that seems to be for peddlers. Though some of the vehicles been managing to drive through there, I wasn’t too sure about it. Some other families like us been trying to enquire about it and soon a local guy passing by informed us about the main route for vehicles.

DSCN7992

DSCN7990

Views weren’t that clear but honestly speaking, the place looked good about sunrise and sunset only and unfortunately we didn’t had time for both. Parking options were bad at the place though we managed it. Must have left the spot within 30 mins and then decided to head back to home entirely.

DSCN8005

The above was at around 1430 hrs and it was still cloudy day all around.

DSCN8021

We took a break at some under construction hotel in midway. Many laborers been cleaning the river and I was thinking what if State Govt itself does the widening/ cleaning works on rivers under MNREGA etc. Important task considering the tourism etc, but then who know NGT ego may be hurt again to pass another random Tuglaq style order.

DSCN8022

The place would be good photo stop in coming days.

The good times were to end once we were in plains. Area around Modinagar was hell for driving due to long traffic queues and despite of our tries, we reached home by 1000 hrs around only. It would have been 8hrs journey back to home but return journeys always feel longer. The good part was, I had a day off on next day.

Another hill trip was over and I was still unsatisfied from hills while winter seasons and snow still far away. Manali side anyway has been destroyed by NGT tantrums.

Active Directory Reporting by Emails via Powershell

Monitoring a large Active Directory environment always comes with so many requirements at times. Some of these might be based on various business requirements while some of them are meant for being proactive over the changes in the environment based on daily activities. All the codes applicable to Windows 2003 environment but should work for higher than that as well.

Let’s visit some of the Powershell scripts which might come useful at times:

Dump of all AD User’s info + group Membership of each user along with all relevant attributes

The below code isn’t sending HTML email, but plain text with two attachments only. We can schedule the same weekly basis or fortnight basis to keep snapshots of AD on regular basis to refer at any point of time in cases of requirement.

  
# !Author! Nitish Kumar

#Would talk about pre-requisites for importing ActiveDirectory Module at end of post 
import-module ActiveDirectory  

#Preparing files to write data and attach to email
$file1 = "c:\temp\AllADusers_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv"  
$file2 = "c:\temp\GroupMembershipDetails_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv"  

#Powershell command to fetch all AD Users data, Columns can be added/ removed
Get-ADUser -Properties * -filter *| select SamAccountName,CN,DisplayName,EmailAddress,MobilePhone,Department,City,Company,Enabled,ObjectClass,Created,msExchWhenMailboxCreated,Modified,LastLogonDate,LastBadPasswordAttempt,PasswordLastSet,PasswordNeverExpires,AccountExpirationDate,BadLogonCount,Manager,DistinguishedName,whenCreated | export-csv "$file1" -noTypeInformation   

#Powershell command to fetch group memberships of each single user in AD
Get-ADUser -Filter * -Properties SamAccountName,DisplayName,memberof | % { New-Object PSObject -Property @{ DomainID = $_.SamAccountName UserName = $_.DisplayName Groups = ($_.memberof | Get-ADGroup | Select -ExpandProperty Name) -join "," } } | Select DomainID,UserName,Groups | Export-Csv "$file2" -noTypeInformation   

#Email related settings
$smtpServer = "mail.xyz.com"  
$att1 = new-object Net.Mail.Attachment($file1)  
$att2 = new-object Net.Mail.Attachment($file2)  
$msg = new-object Net.Mail.MailMessage  
$smtp = new-object Net.Mail.SmtpClient($smtpServer)  
$msg.From = "email_1@xyz.com"  
$msg.To.Add("email_2@xyz.com")  
$msg.To.Add("email_3@xyz.com")  
$msg.Subject = "All AD Users Info"  
$msg.Body = "Attached is the All AD Users Report and Group memberships."  
$msg.Attachments.Add($att1)  
$msg.Attachments.Add($att2)  
$smtp.Send($msg)  
$att1.Dispose()  
$att2.Dispose()  

#Script ends here

Little modification in the script and one can get any number of columns or related info. The generated files can even be used for restoring things in cases of emergency, but we wouldn’t be discussing that part as of now.

HTML Report of All Users created in last one day, last week, last month

Getting updates on daily, weekly, monthly basis that how many news users have been added into your infra can be quite useful at times. Below code serves for the purpose of getting report of all users created in last 24 hrs.

  
# !Author! Nitish Kumar

#Would talk about pre-requisites for importing ActiveDirectory Module at end of post 
import-module ActiveDirectory

$file = "c:\temp\NewUsers_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv" 

$When = ((Get-Date).AddDays(-1)).Date
Get-ADUser -Filter {whenCreated -ge $When} -Properties *| select SamAccountName,EmailAddress,whenCreated |Export-Csv "$file" -noTypeInformation

$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"

$smtpServer = "mail.xyz.com"
$att = new-object Net.Mail.Attachment($file)
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "email_1@xyz.com"
$msg.To.Add("email_2@xyz.com")
$msg.Subject = "Report of users created in last 24 hrs"
$body = "<b>Dear Team</b><br>"
$body += "Attached is the Report of users and their emails created today <br><br>"
$body += Get-ADUser -Filter {whenCreated -ge $When} -Properties *| Select-Object @{Label=”Domain ID”;Expression={($_.SamAccountName)}},@{Label=”User Name”;Expression={($_.Name)}},@{Label=”Email Address”;Expression={($_.EmailAddress)}}, @{Label=”Created on”;Expression={($_.whenCreated)}} | ConvertTo-Html -Head $style
$body += "<br><b>Regards</b><br>"
$body += "IT Team <br>"
$msg.Body = $body
$msg.IsBodyHTML = $true
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()

#End of script

By changing $When variable to 1, 7, 30, you can get the desired results (would require to modify the email message accordingly).

HTML Report of All Users deleted in last one day, last week, last month, last six months

When we talking about notifications on users created in last 24 hrs, last 7 days, last month, then we would sure like to have similar reports about the users who got deleted. Here we go

  
# !Author! Nitish Kumar

#Would talk about pre-requisites for importing ActiveDirectory Module at end of post 
import-module ActiveDirectory

$file = "c:\temp\Last1DaysDeletedUsers_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv" 

$When = ((Get-Date).AddDays(-1)).Date

Get-ADObject -Filter {(isdeleted -eq $true) -and (name -ne "Deleted Objects") -and (objectclass -eq "user")} -includeDeletedObjects -property * | Where-Object {$_.whenChanged -gt $When} | Sort-Object whenChanged| Select-Object @{Label=”Domain ID”;Expression={($_.SamAccountName)}}, @{Label=”User Name”;Expression={($_.Name)}}, @{Label=”Deleted on”;Expression={($_.whenChanged)}} |Export-Csv "$file" -noTypeInformation

$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"

$smtpServer = "mail.xyz.com"
$att = new-object Net.Mail.Attachment($file)
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "email_1@xyz.com"
$msg.To.Add("email_2@xyz.com")
$msg.Subject = "Report of Users Deleted in last 24 hours"
$body = "<b>Dear Team</b><br>"
$body += "Attached is the Report of users deleted in last 24 hours. <br><br>"
$body += Get-ADObject -Filter {(isdeleted -eq $true) -and (name -ne "Deleted Objects") -and (objectclass -eq "user")} -includeDeletedObjects -property * | Where-Object {$_.whenChanged -gt $When}  | Sort-Object whenChanged| Select-Object @{Label=”Domain ID”;Expression={($_.SamAccountName)}}, @{Label=”User Name”;Expression={($_.Name)}}, @{Label=”Deleted on”;Expression={($_.whenChanged)}} | ConvertTo-Html -Head $style
$body += "<br><b>Regards</b><br>"
$body += "IT Team<br>"
$msg.Body = $body
$msg.IsBodyHTML = $true
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()

#End of script

Similarly by changing $When variable, we can get information for last 24 hrs, 7 days, 30 days or 180 days (max possible).

HTML Report of All Users disabled in last one day, last week, last month, last six months

Many Organizations disable the user ID first rather than deleting the same, so one might need the reports of users disabled in last 24 hours, last week or last month. Here we go …

  
# !Author! Nitish Kumar

#Would talk about pre-requisites for importing ActiveDirectory Module at end of post 
import-module ActiveDirectory

$file = "c:\temp\DisabledUsers_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv" 

$When = ((Get-Date).AddDays(-1)).Date

Get-ADUser -LDAPFilter {(useraccountcontrol:1.2.840.113556.1.4.803:=2)} -Properties whenChanged | Where-Object {$_.whenChanged -gt $When} | Select-Object @{Label=”Domain ID”;Expression={($_.SamAccountName)}},@{Label=”User Name”;Expression={($_.Name)}}, @{Label=”Disabled on”;Expression={($_.whenChanged)}} |Export-Csv "$file" -noTypeInformation

$style = "<style>BODY{font-family: Arial; font-size: 10pt;}"
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}"
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }"
$style = $style + "TD{border: 1px solid black; padding: 5px; }"
$style = $style + "</style>"

#Settings related to mail
$smtpServer = "mail.xyz.com"
$att = new-object Net.Mail.Attachment($file)
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$msg.From = "email_1@xyz.com"
$msg.To.Add("email_1@xyz.com")
$msg.Subject = "Report of Users disabled in last 24 hours."
$body = "<b>Dear Team</b><br>"
$body += "Attached is the Report of users disabled in last 24 hours. <br><br>"
$body += Get-ADUser -LDAPFilter {(useraccountcontrol:1.2.840.113556.1.4.803:=2)} -Properties whenChanged | Where-Object {$_.whenChanged -gt $When} | Select-Object @{Label=”Domain ID”;Expression={($_.SamAccountName)}},@{Label=”User Name”;Expression={($_.Name)}}, @{Label=”Disabled on”;Expression={($_.whenChanged)}} | ConvertTo-Html -Head $style
$body += "<br><b>Regards</b><br>"
$body += "IT Team <br>"
$msg.Body = $body
$msg.IsBodyHTML = $true
$msg.Attachments.Add($att)
$smtp.Send($msg)
$att.Dispose()

Its for disabled users in last 24 hours. One can get report of users disabled in last week and last month accordingly by changing $When variable…

Disabling a user and removing it from all the groups it is member of

Let’s say someone has left the organization and you want to disable the ID along with removing all the groups he/ she is member of. It takes SamAccountName of the concerned person as input …

  
# !Author! Nitish Kumar

import-module ActiveDirectory

$ErrorActionPreference = "SilentlyContinue"
$user = Read-Host -Prompt 'Input Domain ID to Delete: '
Disable-ADAccount -Identity $user
Get-ADPrincipalGroupMembership $user | select -ExpandProperty Name | foreach-object{  remove-adgroupmember -identity $_ -member $user -Confirm:$False  }

Getting emails of a number of users

Don’t know if IT guys in other companies get such kind of requests but it was a frequent case at my office that we would get a huge list of users (their SamAccountNames) and would be asked to provide email IDs against them.

Easier option to accomplish the same is to do a vlookup from the AD data (as obtained by the last script), but in case one directly wants updated data from AD then the below script can be used.

  
# !Author! Nitish Kumar

Get-Content c:\temp\user.txt | ForEach {Get-ADUser -Identity $_ -Properties DisplayName,EmailAddress |Select SamAccountName,DisplayName,EmailAddress} | Export-Csv c:\temp\EmailAddresses1.csv -NoTypeInformation

Distribution group members and their emails

Many times you might require the updated list of members along with their Email IDs for a given distribution group. The below command takes display name of Distribution Group and gives output at c:\temp

  
# !Author! Nitish Kumar

import-module ActiveDirectory

$group = Read-Host -Prompt 'Input Group Display Name'
$file = "c:\temp\"+$group+"_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv" 

Get-ADGroupMember -Identity $group -Recursive | Get-ADUser -Properties Mail | Select-Object @{Label=”Domain ID”;Expression={($_.SamAccountName)}},@{Label=”User Name”;Expression={($_.Name)}},@{Label=”Email Address”;Expression={($_.Mail)}} |Export-Csv "$file" -noTypeInformation

Pre-requisites for import-module ActiveDirectory

While its non-issue for the environments where you have Windows 2012 based ActiveDirecory servers, in case of Windows 2003/2008 only domains, one requires to install the below package on one server in the domain at least (Personally I found that its safer to install the same on more than one servers).

https://www.microsoft.com/en-in/download/details.aspx?id=2852

In case of Windows 2003 installing the above package isn’t enough. .Net 3.5.1 should be installed along with patches. The below hotfix also needs to be installed on all servers over which above package is installed.

https://support.microsoft.com/en-us/kb/969166

If failing to find the hotfix as Windows 2003 is out of support now then you can get the same directly from here

https://1drv.ms/u/s!Ag5VPL5rMr_Nh4thXPxHby0MJ_LjXQ

If you facing issues in installation of any one of above, then may be you require to replace the .dll at location C:\WINDOWS\Assembly\GAC_MSIL\System.DirectoryServices.AccountManagement\3.5.0.0__b77a5c561934e089 with the given below one as was my case:

https://1drv.ms/u/s!Ag5VPL5rMr_Nh4tg1xMjunTGVxPYyQ

Build Your Admin Workstation

Install the appropriate version of Windows RSAT.
Add these Windows RSAT features bolded below (Control Panel, Programs, Turn Windows features on or off):
Remote Server Administration Tools
– Role Administration Tools
– – AD DS and AD LDS Tools
– – – Active Directory Module for Windows PowerShell
– – – AD DS Tools
– – – – Active Directory Administrative Center
– – – – AD DS Snap-ins and Command-line Tools

In case you still face the issue then below is the Technet Article

https://blogs.technet.microsoft.com/ashleymcglone/2011/03/17/step-by-step-how-to-use-active-directory-powershell-cmdlets-against-2003-domain-controllers/

Nainital again–A lesson when not to go for a hill trip

A hill trip?

But its not long when I been on the last one to Dharamshala, then why another hill trip again within two months? And what’s with the depressing title? What can be a wrong time for a hill trip? Was it really that bad?

Apparently nothing that much depressing as we had our fun times and enjoyed whatever we got, but yeah considering the memories of last two trips (both been during Monsoon) and opportunities available with us this time, it would have been more memorable if appropriate weather. The Uttrakhand Fires which picked up in news only when our schedule came closer apparently was even more disastrous than it was looking on TV. Entire view was blocked by kind of smoke, so literally NIL hill views. But then Nainital is never about hills only.

DSCN7771

Why the trip? The plan and schedule

One doesn’t really need an excuse for a hill trip, at least not me, but this time I was just getting fed up of hectic office routine since last few days. I am always known to be workaholic, but when you start feeling that its under appreciated or like people in upper food chain don’t have any idea that what really going on, only thing which can delay the inevitable for a while can be diversion of mind. Rants apart, the last trip as I said even though was kind of best, but as I wasn’t on driving seat so that longing refused to die and I wanted to take a trip somewhere before May-June comes. I thought end of April would be little colder and pleasant in hills like Octobers etc but I was wrong about weather at least (thanks to forest fire).

The schedule chosen was 29th May – 1st April 2016 (Friday- Sunday). We were supposed to start early morning on 29th and then first day stay was in Hotel Mohini Inn, Nainital and second day stay was in Parwati Inn,  Ranikhet. Bookings were done was Goibibo and I managed to get the second hotel under 600₹ even. We thought to include brother and his wife in the trip, but their schedule was engaged, so it was family only trip again.


Finally the day of drive and hiccups

Route searches always warn you about Rampur-Rudrapur stretch but as been our experience in last trip, that was manageable. It wasn’t the road quality which concerns but the kind of width and traffic. It’s a two way road for 60-65 kms, where its hard to overtake with traffic hence irritating at times for drives which was coming from a long way from full speed highways.

IMG_1018IMG_1015

Started by 0330 hrs, we chosen to stick with main route, thanks to inputs from Colleague Naval who just reached to nearby area one day back. Start of the drive went into discussions related to kiddo school selection in coming days and then shock of the trip hit me once we reached the first toll. My ever loyal car decided to give the first major trouble to me.

It wasn’t that kind of major if we look at it, the issue was the horn of the car stopped working. Those who drive on highways can understand that even though minor, how big headache that can be. Then considering the very early hour of the day means we weren’t gonna find any mechanic either. Anyway, we found one shop open by 0600 hrs around though no senior mechanic was there. Luckily the guy who had opened the shop managed to fix the horn. I happily gave him 50 Rs and drove ahead but the joy was short lived as after few kms I found horn to be down again. Though this time, I had seen that what that guy did and was able to replicate the same myself but then it was a temporary fix as it was going down again and again.

Thanks to the glitch, we were set back by more than an hour or so as managing Rampur – Rudrapur stretch without horn was so irritating. Also as it was Friday, the Muslim majority area had almost all mechanics on leave for the day so there was no permanent fix for the horn in rest of the journey.

Additional trouble was AC going down again and again. Yeah Yeah.. my car always been loyal to me and this was the first journey, when it started showing tantrums (no deal breaking though). Later on servicing few weeks later of the trip, I got to know that one of the radiator fan was faulty which needed replacement and overheating of the engine was causing the AC troubles. I find myself lucky that the car didn’t overheat enough to cease even at high speeds.

We might have reached the destination by 1100 hrs around after taking plenty of breaks in between and when we been searching for hotel location, luckily we met one of the hotel guy itself, who drove to the hotel himself, which would have been tricky otherwise as it was on a high slope. This is something which always remains trouble on hills. An easy parking place means you frequently use your car otherwise you prefer local transport. It was later for us then.

Wife was so tired and wasn’t ready to leave the hotel room early, so we decided to take bath first, then rest a little and then to Mall Road. While wife was concerned that it might be a long walk from the hotel that came out to be roughly 500m walk off-road without much of slope so easily manageable.

DSCN7508

We were at side of lake by 1400 hrs and then we chosen to book a SuV for sight seeing. 800 Rs for various spots, it wasn’t a bad deal sort of.

DSCN7516DSCN7510

Rock garden was first stop. Last time we parked the car in front of it but didn’t went as I didn’t thought it worth. Anyway, this time I knew that I was correct last time.

DSCN7522DSCN7523DSCN7525DSCN7527

Then we moved towards top, which was the first viewpoint. Can imagine that this is the place from where snow peaks might be visible and it must be happening place, but considering the Uttrakhand forest fire, all the view was gone as you can see and this was just start of disappointment in the trip. BTW the last picture showing the SUV, which we had booked for the sight seeing.

DSCN7534

DSCN7531

DSCN7548

Lover’s point was the next stop. Again the same complaint, lack of views due to smoke, but we had started living with that complaint.

DSCN7556

Khurpa Tal viewpoint was the next stop. I had read about the same in many blogs and even had considered to drive from Kaladhungi side to have a view of the same. The view was sure precious and the driver told us that we would get an even more closer look than this.

DSCN7571

DSCN7563

DSCN7581

It was a nice photo ops place for sure, but we had to move ahead.

DSCN7596

Then we reached to some artificially created waterfall, where we took the lunch in a nearby shop.

DSCN7594

And then after a closer look to the Khurpa Tal, we were back at mall road by around 1720 hrs. This time we have thought to cover the points, which we had skipped in past so the next turn was the Naina Devi Temple.

DSCN7604

DSCN7606

DSCN7608

And how we could have visited Nainital and missed boating? Even if we had thought so, kiddo wasn’t going to compromise.

DSCN7629

DSCN7637

DSCN7629

During off season like this, they usually cover more ground in lake otherwise almost half of the same. Lake also wasn’t that much crowded as we found during August last years.

DSCN7645

DSCN7666

DSCN7669

Some photo ops on lake side and then we moved towards Mall Road. Walking with kids in hills always come to be tough as while you are already tired, kids refuse to walk. After all, they have the option available which we don’t have.

DSCN7673DSCN7671

Finally we gave up and went back to hotel. I asked the hotel guys to clear the bills as I had to check out early morning and we might have gone to sleep early around 0900-0930 hrs. Next target was Ranikhet as that part of drive we had loved most in our first Nainital trip. We decided to skip Mukteshwar this time as read that views of snow peaks is similar to Ranikhet so if snow peaks gonna be visible then they gonna be visible from Ranikhet as well.


Day 2: The drive to Ranikhet

From scenic point of view, we had big hopes from this day but considering the fact that we been to upper places of Nainital and found no views, we knew that nothing much gonna be changed in Ranikhet either. We might have started by 0530 hrs around and it didn’t took much long for sunshine to greet us.

DSCN7674

DSCN7678

DSCN7685

DSCN7694

The road was good for most parts, say 99% but there were patches which seems to be remind of landslide kind of. I used to think that this side of hill was comparatively safe to travel during Monsoon as travelled twice but it seems that it might be different as well.

DSCN7701

DSCN7708

DSCN7711

Considering the fact that the river which accompanies the route to Ranikhet was almost dried up, we didn’t had much hope for photo ops but it seems nature had its share of surprises in store for us in form of fall colors.

DSCN7735

DSCN7736

DSCN7742

DSCN7745

DSCN7747

After reaching Ranikhet, don’t know what route Google Maps and Here Maps preferred to guide me on and we spent almost an hour figuring out through narrow streets.

DSCN7757

We reached to the hotel at about 1030 hrs and there was this interesting coincidence about this hotel. In first trip of ours to Nainital, it was rainy season and we had no prior bookings and after searching through streets, we had stopped at this hotel at first choice considering the fact that this one was with the best comfortable parking area. But then we were quoted more than 4K per day even when we wished to stay for the night only and was ready to accommodate in single room itself. This time, can you guess what was the rent? It was roughly 550 Rs, which anyway was paid in advance online. As I overheard, the manager of the hotel wasn’t quite happy about the kind of pricing he was getting from GoiBibo but for me, it was kind of revenge served Smile with tongue out

DSCN7835

DSCN7766DSCN7774

DSCN7776

DSCN7814

The only worthy place in Ranikhet was the Golf Course, though it wasn’t green type as it looks in Monsoon but fall colors weren’t bad either. We reached there around 1115 hrs stayed there till around 1230 hrs and then left. Rest of the day was spent in unsuccessful attempt to reach a nearby lake and outside lunch. We slept early to get up early in morning for the drive back home.


Day 3: The drive back home and stop at Bhimtal

We might have left the place by 0500 hrs and it was a relaxed drive considering the fact that time was our side as we were free to reach home by evening.

IMG_1101

IMG_1107

We spotted the above at around 0525 hrs and don’t even ask me that how it happened. After all, this is hill road and one can’t expect someone driving drunk and over-speeding. One can really expect tourists to be so but not the regular drivers commuting daily. Still don’t know how it would have happened.

DSCN7863

Before heading back home, we decided to take a stop at Bhimtal lake. Boating was off this time as Military was taking water from the lake to douse the forest fire.

DSCN7866

DSCN7870

DSCN7871

While I understand the gravity of situation, but still not completely relate with the practicality of solution as for one trip, the helicopter had to set itself at least 2-3 rounds. More efforts for less water it seems but then I am no expert over such matters.

DSCN7878

DSCN7881

DSCN7891

DSCN7899

Kiddo had fun with ducks around. We invited some in pretense of food but once they knew about it they didn’t came near. Not really sure that what one supposed to give them for eating as regular eatables are prohibited to be given.

DSCN7905

DSCN7893

We left the place by 0830 hrs around and headed back to home. Apart from an incident when during lunch, I had to stop to give some remote support to office, most of the drive was eventless. I got the horn repaired and also stopped to the construction site of our flat in between.

image

We reached back by 1630 hrs around.

Long awaited family trip to Himalaya: Dharamshala, Vaidyanath, Pathankot

“हेल्लो … आपका एक बैग गिर गया है..”
“कहाँ?”
“काफी पीछे..”

एक घंटे की मशक्कत के बाद “छोडो यार अब गया तो गया… जेवर वाला तो नहीं गया न..”
”पर उसमे सारे नए कपडे थे .. सारियां और बच्चो के Sad smile

This was the start of the trip….

“भैया .. मेरे रूम की टीवी में स्पार्क हो रहा है और शायद लाइट भी चली गयी है”

“वो शायद लाइट fluctuate हो रही थी उसी से कुछ हुआ होगा ”

“Damn!!! लैपटॉप का चार्जर और मोबाइल चार्जर गया..”

This was the second day of stay at Dharamshala…

The above two conversations are a hint that what had gone wrong during the last short trip of ours but was that enough to dampen our spirit on the long awaited family holidaying?????

DSCN7319

Continue reading “Long awaited family trip to Himalaya: Dharamshala, Vaidyanath, Pathankot”