In this post you will learn how to query SCOM RMS server name of a specific SCOM group using powershell script.
In all my SCOM scripts that I wrote so far, I hardcoded the SCOM RMS server name. Recently I came across a situation where RMS role is moved to another management server in same SCOM group. With this change, obviously all my scripts will fail because the hard coded server is not a RMS server anymore and it has no intelligence to redirect my query to the current RMS sever.
That means we should have a dynamic way using which we can get RMS server automatically from some reliable source. SCOM installations creates a SCP(Service Connection Point) in Active directory for each SCOM group. So now I will show you how to query this SCP using powershell and get the RMS server name.
We can either choose to use build-in Activedirectory module or Quest AD Cmdlets to get information. The below code is based on activedirectory module which is available with Windows 2008 and Windows 7.
function Get-ScomRMSServer { Import-Module ActiveDirectory $Domainname = (Get-ADDomain).DistinguishedName.tostring() $SCOMObj = Get-ADObject -Filter "Name -eq 'SDKServiceSCP'" -SearchBase $domainname ` -Properties ServiceDNSName, ServiceClassName $SCOMObj | select serviceclassname, serviceDNSName }
Thanks to my colleague(Deepesh) who helped with finding this.