Create a Non-administrator Windows Service Account
In certain environments, it might be necessary to use non-privileged users for monitoring of remote Windows servers rather than a user that is a member of the local Administrator group on the target system.
See Windows Device Monitoring and Management for more information about using Windows service accounts for BMC Helix Network Management.
WinRM
Create the service account
First, you will need to create the Active Directory service account that you wish to use to monitor your Windows servers. It is imperative this account be used only for BMC Helix Network Management management and is not shared with any other applications or users.
Put the newly created user into the following domain groups:
- Domain Users
- Performance Log Users
- Performance Monitor Users
- Distributed COM Users
- Remote Management Users

Configuration of the monitored system
Verify WinRM service is running and its configuration
WinRM is installed by default in all supported Windows machines.
In Services, ensure that the Windows Remote Management service on the remote target is running, and that it is set to start automatically.

You can use the following command to verify the state of the WinRM service.

Verify WinRM configuration
To verify that WinRM is configured properly, use the following commands.
Verify the WinRM configuration attributes.
The correct attributes for the WinRM client and Service in Response should be as shown below.
Configure WinRM listener
There are two types of WinRM listeners that can be configured:
- HTTP Listener
- HTTPS Listener
HTTP Listener
The HTTP Listener uses TCP/5985 for communication.
- To configure HTTP listener use the command shown below.
- Then create a firewall rule to allow the HTTP listener.
HTTPS Listener
The HTTPS Listener uses TCP/5986 for communication.
Before configuring this listener, it is necessary to create a self-signed certificate and get its thumbprint. To create a self-signed certificate either the makecert command or the New-SelfSignedCertificate PowerShell commandlet can be used.
- Open a PowerShell window in Administrator mode and run the following command.
- This command will create a new self-signed certificate and output the certificate thumbprint as seen below.
- Copy the thumbprint (the number string under "Thumbprint") to the clipboard and run the following command (pasting the thumbprint into the appropriate location) to register the HTTPS listener in WinRM.
- This will produce output similar to the example below.

- Then create a firewall rule to allow the HTTPS listener.
Commands to set the WinRM client/service attributes
Enable HTTP Compatibility Listener
Enable HTTPS Compatibility Listener
Allow Unencrypted Service Calls
Allow Remote WinRM Access to Service
Enable "Basic" Auth to WinRM Service
Allow Unencrypted Client Calls
Enable "Basic" Auth to WinRM Client
Enable PS-Remoting
This is critical for allowing external applications and users to interact with the server using WinRM.
Assign the service account
Put the non-admin domain service account in the following local groups of the server.
Remote Management Users
Performance Monitor Users
Performance Log Users
Distributed COM Users
Add SDDL permissions
Add the proper SDDL permissions to the service account so it can access the WinRM service.
- Execute the below command in PowerShell using Administrator mode.
- Add the service account <serviceaccount> and configure permissions.

- Check under "Allow" for:
- Read(Get,Enumerate,Subscribe)
- Execute(Invoke)
- Click the Advanced button to validate the permissions.

- Check under "Allow" for:
Configure WMI namespace permissions
Configure permissions for the service account to access WMI namespaces.
- Execute the below command in PowerShell using Administrator mode.
- Right-click on WMI Control (Local) and select Properties.

- Select the “Security” tab.

- Select the “root” namespace.
- Click the Security button.
- Add the service account “svc_nonadmin” and allow it the following permissions:
- Execute Methods
- Enable Account
- Enable Account
- Click the Advanced button and validate that the permission for the “svc_nonadmin” service account is set to Allow for This
namespace and subnamespaces.

- Select the “Security” tab.
Query access
Allow the user to access service control manager queries.
Open a command prompt in “Administrator” mode and enter the following commands.
WMI
Create the service account
First, you will need to create the service account that you wish to use to monitor your Windows servers. It is imperative this account be used only for BMC Helix Network Management and is not shared with any other applications or users.
Put the newly created user into the following domain groups:
- Depending on your version of Windows Server:
- For Windows Server versions prior to 2019 put the user in Performance Log Users
- For Windows Server 2019 and later put the user in Performance Monitor
- For all Windows Server versions also put the user in Distributed COM Users
Configuration of the monitored system
Enable WMI access
You must now make sure that the Distributed COM Users group actually has permissions to access WMI.
In Windows, launch the Active Directory Users and Computers tool, select WMI Access from the list and open its properties. On the Member Of tab add the Distributed COM Users group to the list.

Configure DCOM security
Now, you must configure DCOM security for the group.
- Run Component Services from the Windows Start Menu by selecting Start > Administrative Tools > Component Services.
- Once it opens, expand Console Root, then Computers, and finally My Computer. Right-click on My Computer and select Properties.
- In the dialog that appears select the COM Security tab.
- In the Access Permissions section select Edit Limits.
- Select the Distributed COM Users group and ensure that all items under Allow are checked.

- Once you've reviewed the settings for Distributed COM Users, select OK to save your changes and be returned back to the COM Security tab.
- In the Launch and Activation Permissions section select Edit Limits.

- You are presented with a list of groups and permissions. Select the Distributed COM Users group and ensure that all items under Allow are checked.
- Select OK to save your changes.
- Exit the Component Services utility.
Configure WMI namespace security
Next, set WMI namespace security so that the Distributed COM Users group has access to WMI objects.
- Go to the Windows Start menu select Run. In the window that opens, in the Open: field type wmimgmt.msc and select OK.
- Once it opens, right-click on WMI Control (Local) and select Properties.

- In the properties panel select the Security tab.
- Select Security at the bottom right of the window. This edits the security settings for the root WMI namespace.

- You now see a window that has the security settings for WMI for this machine. Select Advanced.

- You now see the advanced security settings for this WMI namespace. Add the BMC Helix Network Management service user account to the list and give at least the following Allow permissions (make sure that these permissions apply to this namespace and all the namespaces under it by selecting This namespace and sub-namespaces in the dropdown box above the permissions list window.):
- Execute Methods
- Enable Account
- Remote Enable
- Read Security

- Select OK to save the new permissions.
- Select OK again to exit out of the Advanced Security Settings for Root panel.
- Select OK again to exit the security properties.
Enable access to the Win32_Services object
You'll also have to enable access to the Win32_Services object. The simplest way to do this is via the command prompt.
- Right-click on the Windows CMD menu entry and select Run as Administrator.
- Paste in the following commands:
sc sdset SCMANAGER D:(A;;CCLCRPRC;;;AU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD) reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
The change should take effect immediately.
UAC Issues
It appears UAC needs to be disabled for these types of remote WMI queries to work.
With UAC running, an administrator account actually has two security tokens, a normal user token and an administrator token (which is only activated when you pass the UAC prompt).
Unfortunately, remote requests that come in over the network get the normal user token for the administrator; and since there is no way to handle a UAC prompt remotely, the token can't be elevated to the true-administrator security token.
See this Microsoft article for information on how to disable UAC: https://docs.microsoft.com/en-US/troubleshoot/windows-server/windows-security/user-account-control-and-remote-restriction.