By definition, servers never control clients; server "serves", it is the passive side, and the client is active. In pure
client-server model, the server always listen to the clients, receive some request, do something and reply with response. Anyway, this model is extremely limiting and has been a curse of many technology.
Interestingly, there is a mental aberration in many naive users, who know that the server is something big and powerful, and hence, can control something. But would you like you personal computer to be submissive to some bit brother? :-)
Fortunately, it's not too hard to avoid. :-)
However, the term "server" is often used in wider sense, when the functionality goes well beyond the client-server model (in such cases, I try to avoid the word "server" and call it "service", but it hardly improves the situation with confusing technology). There can be such thing as so called
server push, more flexible model such as
publisher-subscriber can be designed, and so on.
See also my past answer in this general topic of limitations of client-server model and other models:
Application 'dashboard' for website accounts.
But even in such cases, the client is not really controlled by some other hosts. Don't forget that everything is reduced to exchange of data through the network. The user of the client can only volunteer to run some client-side code which can control the local system according to the commands from the other host. Typical examples are file sharing and remote desktop. But guess what? This "client-side code" is considered as "service". Technically, on Windows, it is implemented as Windows Service. However, any network application can control the local system and, hence, do something on the external orders. But who in sober mind would do something putting the local system at danger? Only those who fell the prey of
social engineering :-)
And of course you cannot use AD to control some client systems; and this is very good. :-)
—SA