Configuring WinCC Server/Client Systems in a Windows Active Directory Domain
Deploying a Siemens WinCC server/client architecture inside a Microsoft Active Directory (AD) domain requires deliberate user-account and group planning. Unlike workgroup installations, domain-integrated WinCC projects depend on SIMATIC HMI group membership, local Administrators rights on each runtime node, and consistent service-account credentials. This reference consolidates the requirements documented in the WinCC Release Notes and the Siemens Industry Online Support entry 78346833 - Installation and Operation of WinCC in a Microsoft Domain Environment, together with the WinCC TIA Portal v20 installation guidance at Installing WinCC - TIA Portal.
1. WinCC Domain Model: What Changes Versus a Workgroup
WinCC is generally authorized for use in a domain or a workgroup. The architectural differences that matter for the field engineer are:
| Aspect | Workgroup | Active Directory Domain |
|---|---|---|
| User database | Local SAM on each PC; identical accounts replicated manually | Centralized in AD; replicated via DCs |
| SIMATIC HMI group | Local group on each runtime node | Domain global group + local group on each node |
| Password changes | Manual on every PC | Centralized in AD |
| Logon during DC outage | Always works with cached credentials | Requires last successful interactive logon cache |
| Service accounts | Local system or local user | Domain user with "Log on as service" right, or gMSA |
| UAC prompts | Local admin handles elevation | Domain user cannot self-elevate; local Admins membership required |
Per the official installation note, WinCC must be installed before the PC is joined to the domain when a non-domain local administrator is preferred. After successful installation, the WinCC computer can be re-entered into the domain. This ordering avoids UAC and DCOM permission inheritance problems that occur when domain-joined machines are reinstalled.
2. Required User and Group Inventory
For a multi-zone WinCC server/client deployment, build the following account inventory before installing WinCC runtime. The source scenario describes three roles; the canonical mapping is:
| Role | Account Type | Scope | Group Membership |
|---|---|---|---|
| WinCC Server Administrator | Domain user (NOT Domain Admin) | All WinCC servers | Local Administrators on every server; member of domain global SIMATIC HMI group |
| Zone 1 Client Operator | Domain user | Clients in Plant Zone 1 only | Local Administrators on Zone 1 clients; member of SIMATIC HMI
|
| Zone 2 Client Operator | Domain user | Clients in Plant Zone 2 only | Local Administrators on Zone 2 clients; member of SIMATIC HMI
|
| WinCC Runtime Service Account | Domain user (or gMSA) | WinCC servers and clients running services | Local Administrators + SIMATIC HMI + "Log on as service" |
3. The SIMATIC HMI Group Rule
The single most-asked question in this configuration is: Does every domain user need to be a member of SIMATIC HMI on the WinCC server, or only on the machine the user actually accesses?
The documented rule is unambiguous:
- Create one domain global security group named
SIMATIC HMIin Active Directory Users and Computers. - On every WinCC server and every WinCC client, the local group
SIMATIC HMI(created automatically by WinCC Setup) must contain the domain globalSIMATIC HMIgroup as a member. - Add the individual domain users to the domain global
SIMATIC HMIgroup, not directly to every local group.
This nested-group design means each user only needs to be added once (in AD), and the local WinCC Authorization checker on each runtime node will resolve membership through the trusted group chain. The local SIMATIC HMI group also gives members the right to access WinCC-specific DCOM applications, registry keys, and the project directory under C:\Program Files\Siemens\Automation\WinCC\WinCCProjects.
3.1 PowerShell Setup Example
Run these commands on a domain controller or any machine with Active Directory PowerShell:
# 1. Create the domain global SIMATIC HMI group
New-ADGroup -Name "SIMATIC HMI" `
-GroupScope Global -GroupCategory Security `
-Path "OU=Groups,OU=Plant,DC=plant,DC=local" `
-Description "WinCC runtime users - global membership"
# 2. Add WinCC Server Administrator
Add-ADGroupMember -Identity "SIMATIC HMI" -Members "winccsrvadmin"
# 3. Add Zone 1 client operator
Add-ADGroupMember -Identity "SIMATIC HMI" -Members "zone1_op"
# 4. Add Zone 2 client operator
Add-ADGroupMember -Identity "SIMATIC HMI" -Members "zone2_op"
# 5. Add WinCC runtime service account
Add-ADGroupMember -Identity "SIMATIC HMI" -Members "svc_wincc"
3.2 Local SIMATIC HMI Group Configuration
On each WinCC server and client, run as a local Administrator:
# Add the domain global group to the local SIMATIC HMI group
Add-LocalGroupMember -Group "SIMATIC HMI" `
-Member "PLANT\SIMATIC HMI"
# Optional: verify
Get-LocalGroupMember -Group "SIMATIC HMI"
Replace PLANT with the actual NetBIOS domain name. The local group exists after WinCC installation; do not create it manually because WinCC Setup also sets DCOM launch and access ACLs on it.
4. Server vs. Client User Authority
WinCC differentiates between users who configure projects on the server and users who operate clients. Map them as follows:
| Capability | WinCC Server Admin (domain user) | Client Operator (domain user) | Domain Admin |
|---|---|---|---|
| Open WinCC Explorer on server | Yes | No (read-only via remote) | Yes (avoid) |
| Edit/compile project | Yes | No | Yes (avoid) |
| Start/Stop WinCC Runtime | Yes | No | Yes (avoid) |
| Operator authorization in runtime | Configurable per user | Configurable per zone | Not recommended |
| Activate project remotely | Yes | No | Yes (avoid) |
Two operators working in different zones (e.g., Zone 1 and Zone 2) get the same SIMATIC HMI membership but different WinCC user authorizations. Zone separation is enforced inside the WinCC project through the User Administrator dialog, not through domain group membership.
5. Domain Group Policy Considerations
Domain Group Policy Objects (GPOs) will silently break WinCC if the wrong templates are applied. Lock down the following policies for WinCC runtime nodes only:
| Policy | Recommended Setting | Reason |
|---|---|---|
| User Account Control: Run all administrators in Admin Approval Mode | Disabled on WinCC servers/clients | Prevents UAC consent prompts that block service startup and operator actions |
| Network access: Do not allow storage of credentials for network authentication | Disabled | Needed for client-to-server credential caching after DC reboot |
| Log on as a service | Grant to SIMATIC HMI global group on WinCC OU |
WinCC runtime services require this right |
| Access this computer from the network | Include SIMATIC HMI, Administrators, Authenticated Users |
Allows DCOM remote activation across the domain |
| Interactive logon: Message text for users attempting to log on | Optional banner; do not require legal notice acknowledgement | Prevents logon stalls during emergency console access |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA = 0 and reboot. WinCC 7.x and WinCC TIA V16+ have been validated with UAC fully disabled on the server, but Microsoft no longer supports this configuration. Plan a migration path to User Account Control: Run all administrators in Admin Approval Mode = Enabled with auto-elevation via the SIMATIC HMI local Administrators membership.6. Service Account Selection
WinCC runtime uses several Windows services: CCAgent, SIMATIC WinCC Explorer, SIMATIC WinCC Runtime, S7DOS, and the redundancy/connectivity services. Each must start with a credential that has:
- Local Administrators membership on the WinCC server
- Read/write access to the project directory
- "Log on as service" advanced user right (assigned via GPO to
SIMATIC HMI) - For client-to-server: SeNetworkLogonRight ("Access this computer from the network")
Configure the service logon once in services.msc:
# Verify a service account has the right privileges
whoami /priv | findstr "SeServiceLogonRight"
whoami /groups | findstr "S-1-5-32-544"
# S-1-5-32-544 = BUILTIN\Administrators
6.1 Group Managed Service Account (gMSA) - Preferred for V16+
On Windows Server 2012 or higher, deploy a gMSA so password rotation is automatic. Add the gMSA to SIMATIC HMI and local Administrators. WinCC V16 and later support gMSA in documented configurations; for WinCC 7.5 SP2 and earlier, use a domain user with a non-expiring password.
7. Step-by-Step Configuration Procedure
- Pre-install audit. Confirm each target PC is running a Windows version listed in the WinCC installation notes (WinCC V7.5 SP2: Windows 10 LTSC 2019 / Windows Server 2016/2019; WinCC TIA V20: Windows 10 LTSC 2021 / Windows Server 2019/2022). Remove any pending reboots.
-
Create domain accounts and groups. In AD, create the
SIMATIC HMIglobal group, the WinCC Server Admin, the two zone operators, and the service account. Add them all to the globalSIMATIC HMIgroup. - Install WinCC as local Administrator. Log on as the built-in local Administrator; install WinCC. Do not join the domain yet.
-
Apply local Administrators and SIMATIC HMI membership. While still in the local-admin session, add the three domain users and the service account to local Administrators, and add the domain global
SIMATIC HMIgroup to the localSIMATIC HMIgroup. -
Join the domain. Reboot, then join the machine to the domain. Confirm the local
SIMATIC HMIgroup survived the domain join (re-add if necessary). -
Set service logons. In
services.msc, change every WinCC service Log On to the domain service account. Restart the services and verify the WinCC Explorer opens without UAC prompts. -
Configure the WinCC project User Administrator. Inside the project, map the three domain users (referenced as
PLANT\winccsrvadmin, etc.) to the appropriate WinCC authorization levels. Zone separation is enforced here, not in AD. -
Configure clients. Repeat steps 3-5 on each client. Because the local
SIMATIC HMIgroup already references the domain global group, zone operators do not need to be added on the server. -
Enable WinCC Client/Server communication. In the server project, set the preferred server. On each client, verify the server name resolves in DNS (no WINS-only entries) and that the WinCC server's
CCAgentservice is reachable on TCP 2308/2309. -
Validate with a test user. Log on to a client as
zone1_op; confirm WinCC runtime starts and that the operator only sees Zone 1 authorizations.
8. Verification and Diagnostic Checks
After configuration, run these checks before going live:
| Check | Command / Tool | Expected Result |
|---|---|---|
| Domain global group visible to local | Get-LocalGroupMember "SIMATIC HMI" |
Shows PLANT\SIMATIC HMI as member |
| User resolves to local Administrators |
whoami /groups /upn on each node |
Lists domain user as local admin |
| Kerberos ticket to server | klist get host/winsrv01.plant.local |
Returns a valid TGS |
| DCOM launch on server from client |
dcomcnfg → My Computer → COM Security → Launch Permissions |
SIMATIC HMI is in the launch and access ACLs |
| WinCC redundancy port | Test-NetConnection winsrv01 -Port 2308 |
TcpTestSucceeded = True |
| Service starts automatically | Restart server, observe services.msc for CCAgent |
Running, logon as PLANT\svc_wincc
|
9. Common Errors and Resolutions
| Symptom | Root Cause | Fix |
|---|---|---|
| "No authorization" dialog at runtime start | User not in local SIMATIC HMI on this machine |
Re-run Add-LocalGroupMember to nest the domain global group |
| CCAgent fails to start, Event ID 7000 / 7013 | Service account lacks "Log on as service" | Assign GPO right to SIMATIC HMI global group; gpupdate /force
|
| UAC consent prompt on every restart | Domain Admin was used for installation, or UAC GPO not disabled | Reinstall as local admin; remove Domain Admins group from local Administrators |
| Client connects then disconnects every 30 s | DCOM launch permission missing on server | Add SIMATIC HMI to COM Security → Launch and Access permissions on server |
| Kerberos AP-REQ failure in NetLogon log | SPN not registered for WinCC service | Run setspn -S WinCC/winsrv01.plant.local PLANT\svc_wincc
|
| Zone 2 operator can control Zone 1 equipment | WinCC authorization levels, not AD groups, control this | Re-check User Administrator configuration in the WinCC project |
10. Multi-Zone Deployment Topology
The diagram below represents a typical two-zone plant: one WinCC server pair, two distinct client sets, all domain-joined, all reading the same project with different operator authorizations.
+-------------------+ +-------------------+
| DC01.plant.local | | DC02.plant.local |
| (Domain Controller) | (Domain Controller)|
+---------+---------+ +---------+---------+
| |
+-------------+--------------+
|
+------------------------------+
| Global Group: SIMATIC HMI |
| - winccsrvadmin |
| - zone1_op |
| - zone2_op |
| - svc_wincc |
+---------------+--------------+
|
+-------------------+-------------------+
| |
+-------v-------+ +-------v-------+
| WinCC SRV-1 | redundancy link | WinCC SRV-2 |
| Local Admins | <-----------------> | Local Admins |
| Local SIMATIC | | Local SIMATIC |
| HMI contains | | HMI contains |
| domain group | | domain group |
+-------+-------+ +-------+-------+
| |
+-------------------+-------------------+
|
+--------------------+--------------------+
| |
+------v------+ +------v------+ +------v------+
| Zone 1 PC-1 | | Zone 1 PC-2 | | Zone 2 PC-1 |
| Local Admins| | Local Admins| | Local Admins|
| zone1_op | | zone1_op | | zone2_op |
+------+------+ +------+------+ +------+------+
| |
v v
Zone 1 equipment Zone 2 equipment
(controlled by (controlled by
zone1_op auth) zone2_op auth)
Notice that the server is a member of the same domain group, but the operators in Zone 1 are not added on Zone 2 clients and vice versa. The WinCC project itself, not the domain, enforces the zone separation through the Authorization editor inside User Administrator.
11. Operational Best Practices
-
Use one global group. Multiple
SIMATIC HMIgroups defeat the purpose of central administration; add users to the single AD group and let nested local groups propagate. - Disable UAC on runtime nodes only. Apply the GPO to a dedicated WinCC OU, not to the entire domain.
-
Never recycle Domain Admin. Use a domain user with the minimum rights in
SIMATIC HMIplus local Administrators. - Document the service account in your password vault. Even with a gMSA, document the SPN and the OU location.
- Test after every GPO change. A new Windows update can re-enable UAC or revoke "Log on as service". Add WinCC OU GPO changes to your change-control checklist.
- Use DNS, not WINS or HOSTS files. WinCC server names must resolve forward and reverse in AD-integrated DNS, otherwise Kerberos will fail.
- Plan for DC outage. Operators should be able to log on with cached credentials and start runtime; validate this annually during disaster-recovery drills.
12. Frequently Asked Questions
Do I add domain users to the local SIMATIC HMI group on the WinCC server, or only on the client machines they access?
Add the domain global SIMATIC HMI group (with all users as members) to the local SIMATIC HMI group on every WinCC server and every client. The nested group resolves on whichever machine the user logs on to, so users do not need to be added to individual local groups; only the domain global group needs to be nested locally once per machine.
Can a Domain Administrator run WinCC?
Technically yes, but it is not recommended. Domain Admins trigger UAC elevation prompts that interrupt WinCC service startup and runtime, and they violate least-privilege. Create a dedicated domain user that is a member of SIMATIC HMI and a local Administrator on each WinCC node instead.
How do I separate operators in Zone 1 from operators in Zone 2?
Zone separation is enforced inside the WinCC project via the User Administrator's authorization levels, not via Active Directory groups. Both zone1_op and zone2_op are members of the same SIMATIC HMI domain global group, but each is granted a different Authorization in the WinCC project, which controls which screens, buttons, and tags are visible or operable.
Which user right is required to start WinCC runtime services?
The service account (domain user or gMSA) must be granted "Log on as service" on every WinCC server. The simplest method is a Group Policy Object linked to the WinCC OU, with the right assigned to the SIMATIC HMI global group, followed by gpupdate /force and a reboot.
Does WinCC TIA V20 support a Group Managed Service Account (gMSA)?
Yes, WinCC TIA V16 and later (including V20) support gMSA in documented configurations. The gMSA is added to the SIMATIC HMI domain global group and to local Administrators, and WinCC services are reconfigured to "Log on as" the gMSA. For older WinCC versions, use a domain user with a non-expiring password.