Home > SCOM 2012, System Center Family, Tips&Tricks > SCOM – Enable Agent Proxy Setting for all Installed Agents

SCOM – Enable Agent Proxy Setting for all Installed Agents

February 16, 2013 Leave a comment Go to comments

This is a quick post and mostly for my own reference but some people may find it interesting or useful.

When deploying SCOM agents in an environment, there is an ‘Agent Proxy’ setting that is disabled by default on all newly installed agents titled:

Allow this agent to act as a proxy and discover managed objects on other computers

If you install an agent onto for example, an Active Directory, SQL or Exchange server and leave this setting disabled, then SCOM will detect the agent as only being of the ‘Windows Server’ class and will not allow discovery of Active Directory, Exchange or SQL roles and attributes.

This setting is disabled by default as there is a potential risk associated by allowing an agent to discover external managed objects.

When installing a new SCOM solution, I tend to deploy agents to all of the servers that I know will need this setting switched on first (Exchange, AD, SQL, Hyper-V etc.). I then run a powershell command that turns this setting on for all of these agents in one quick swoop!!

Once all of the agents that I want to have this enabled on have it enabled, then I install the remaining Windows agents and leave the setting as its default of ‘disabled’.

Here’s how to do it:

Go to the ‘Security’ tab within the newly installed agent from the SCOM Administration console tab and check to see if the settings is disabled as below

setagentproxy0

Open up the ‘Operations Manager’ shell from a SCOM Management Server with administrative permissions as below:

setagentproxy1

setagentproxy2

When you have the Operations Manager Shell window opened as above, copy the script below into it and hit ‘Enter’

## Enable Agent Proxy for all agents where it is disabled
$NoProxy = get-agent | where {$_.ProxyingEnabled -match “false”}
$NoProxy|foreach {$_.ProxyingEnabled = $true}
$NoProxy|foreach {$_.ApplyChanges()}

Updated 5th May 2012: The script above will only work on SCOM 2007 R1/R2 and not SCOM 2012. See below for the SCOM 2012 equivalent:

## Enable Agent Proxy for all agents where it is disabled
$NoProxy = get-scomagent | where {$_.ProxyingEnabled -match “false”}
$NoProxy|foreach {$_.ProxyingEnabled = $true}
$NoProxy|foreach {$_.ApplyChanges()}

Updated (again!) 24th August 2012 – My good buddy Bob Cornelissen (fellow co-author of Mastering System Center 2012 Operations Manager and SCOM/OpsMgr ninja warrior) has just posted an even easier one-liner PowerShell command to enable agent proxy for all of your machines. Check out his post here and see his script below:

Get-SCOMAgent | where {$_.ProxyingEnabled.Value -eq $False} | Enable-SCOMAgentProxy

Once you have run the script above in the Operations Manager Shell window, go back to the ‘Agents’ window and open up your agents ‘Security’ tab again. You should now see that all agents present when you ran the powershell command have changed their ‘Agent Proxy’ setting to enabled!!

setagentproxy3

Easy!!

Keep in mind that this is just a simple powershell script that will enable the setting for all agents so if you want to specifically enable just a small amount and not the whole lot of them, then this isn’t the script for you!!

Advertisements
  1. May 5, 2013 at 5:43 pm

    Your style is so unique compared to other folks I’ve read stuff from. Thank you for posting when you have the opportunity, Guess I will just bookmark this page.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: