Bhargav's IT Playground

How to find .NET Framework version using PowerShell

Posted by in PowerShell

Often times when I am getting ready to install Exchange 2016 or Exchange 2013, I look at pre-requisites and wonder if correct version of .NET Framework is already installed on the server or not. It certainly saves me time if it is already installed and depending on status of latest OS patch installation, it is highly likely that the required framework is already installed. I think I have written a script in past but never published it. And can’t find anymore. So I just searched and found a script from…read more


Ignoring SSL Trust in PowerShell using System.Net.WebClient

Posted by in PowerShell

This article was originally posted on my PFE blog here: I noticed a few inaccuracies with the article and since I am not a PFE anymore, I can’t edit original article but posting updated article here for everyone to benefit from. The Problem We all at one point or another have come across a coding issue where we are trying to connect to a website using a script and the website is secure with either self-signed or untrusted SSL certificate. This poses a challenge. A challenge to tell code…read more


Book Review – PowerShell 3.0 Advanced Administration Handbook

Posted by in Book Review, PowerShell, Technology

Automation of mundane daily chores of any IT establishment is essential in today’s world. I would rather spend a day to automate a task that takes only 5 minutes to complete because when automated, it now can be completed in fraction of that time, repeatedly, all while removing possibility of human errors. My first automation attempts can be traced back to DOS 6.22 batch files. Albeit nothing compared to what you can achieve today with PowerShell, it was still achieving basic premise of automation. When I first got my hands…read more


Book Review – Microsoft Exchange Server 2013 PowerShell Cookbook (Second Edition)

Posted by in Book Review, Exchange 2013, PowerShell, Technology

Among other books that I have reviewed in past, I had pleasure reviewing Mike’s “Microsoft Exchange 2010 PowerShell Cookbook” when it was release in 2011. So, when PACKT Publishing asked me if I would be interested in reviewing his new book “Microsoft Exchange Server 2013 PowerShell Cookbook: Second Edition”, I didn’t have to think much. It is important to mention that I am not paid by PACKT Publishing to review this book. This review and opinions are genuinely my own. Having read Mike’s previous book, I had high expectations, and…read more


Error: 0x800f0906 Adding GUI features on Windows Server 2012 Core

Posted by in PowerShell, Windows Server

I have always preferred to have least amount of overhead possible when running Server workloads. For the same reason my Hyper-V lab infrastructure is configured to run Windows Server 2012 Core. There are times however, when you may want to have GUI. So I set out to configure one of my servers from Core to minimal GUI. Knowing the cmdlets and options I assumed it would be as simple as running: Add-WindowsFeature Server-Gui-Mgmt-Infra –Restart Murphy never fails to surprise. I got this error instead: Add-WindowsFeature : The request to add…read more


VAMT unable to connect to wmi service on remote machine

Posted by in Firewall, PowerShell, Windows Server

If you are Microsoft’s volume license customer or an MSDN subscriber, the question of tracking usage of your volume license activation may have surfaced. You may already know what Volume Activation Management Tool (VAMT) is. If you aren’t, you can read more about it here.   Since I often build and rebuild my lab VMs, I keep track of my licenses using VAMT 3.0. Today, I built a new physical server that is going to be a Hyper-V host within my lab infrastructure. I chose to build it with minimal…read more


Exchange Management Shell Error 500 – Internal Server Error

Posted by in Exchange 2010, PowerShell

I have come across this issue enough times that even if it is documented on TechNet it deserves mention here. When you launch Exchange Management Shell or try to connect to an Exchange 2010 Server remotely using PowerShell, you get error “500 – Internal Server Error. There is a problem with the resource you are looking for, and it cannot be displayed.” Error details also show the following: For more information, see the about_Remote_Troubleshooting Help topic. + CategoryInfo : OpenError: (System.Manageme….RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException + FullyQualifiedErrorId : PSSessionOpenFailed The other possible…read more


RBAC and Principle of Least Privilege

Posted by in Exchange 2010, PowerShell

Exchange 2010 introduced RBAC as a mechanism to manage access to administrative tasks at granular level which was not possible in previous versions of Exchange. While you may know how to use RBAC to create custom roles that maps to job functions in your environment, one particular feature tends to get easily overlooked, mostly because it is least understood I believe. It is Unscoped Top Level Management Roles. So, I wrote a blog post on it detailing what it is, and how to configure it. It went live few days…read more


Script to configure static ports on Exchange Server 2010

Posted by in Exchange 2010, PowerShell

There is nothing new about this. If you have been reading about Exchange Server 2010 or have it deployed with hardware load balancer, chances are, you have read how to configure static ports on Exchange Server 2010 on TechNet Social wiki for Exchange 2010. Chances are that you have also used my script (referenced in the post above) to set static ports on your servers. Lastly, chances are that you have read all about it on my previous post here. If so, why am I even talking about it today?…read more


PowerShell script to edit remote registry

Posted by in PowerShell

Did you ever wanted to modify your registry or add a key/value pair to registry? Wished there was a script to help you do that? Even better, wished it can run remotely without PowerShell WinRM listener configured on target server? I had custom script that would modify certain registry entry but it was inflexible and in my recent rewrite of another script, I wanted more flexibility. So out of necessity, I decided to rewrite my registry script  and made it independent script with lot of flexibility. Using this script, you…read more