It is impossible to keep people happy in IT, but the least you can do is minimize unhappiness.
The problem is that people like to complain and no matter what you do, there is always something visible to complain about. For example, I stayed after work several times in a job to make sure a computer was ready due to the last minute nature of someone coming aboard.
When they arrived they complained that their email wasn’t working. Their email was ready to work, they didn’t know how to click on Outlook to start it. This individual didn’t know anything about how to use Office, and so of course she had problems. This is a fault of training and on-boarding, but IT got the blame for it.
In every company I’ve worked at, IT gets the blame when other departments don’t do their jobs. Onboarding is handled by HR, and training is also part of the HR management responsibility. You could even blame hiring for getting someone who doesn’t know a basic office application like Outlook. Now of course, not everyone knows everything, but there are standards and minimums that everyone should know. Office is the basic level of knowledge for any computer user.
I am not saying IT doesn’t have a responsibility. Clearly IT is responsible for their part. However as a team IT can’t be responsible for everything. It just can’t work that way in any company. The process of working means that certain responsibilities need to be handled by certain departments. When that fails, then of course there are problems.
I stay after work and come before work, and work very hard to meet the responsibilities in IT. I can not do it alone. IT is only as effective and can only keep people happy as all the departments work together for that goal. When that fails, IT gets the blame no matter who’s “fault” it was.