I need to know without having to send all my users an email, what version of Salesforce for Outlook they are all using. I've downloaded a login history report but I'm not sure there's anything in there pointing out to the version they currently have.
This is an interesting question and the short, and painful, answer is that there isn't a fully accurate way of getting this data without assistance from your IT department, who should have/should be able to create a list of PC names which have Salesforce for Outlook apps installed on them and the corresponding versions. And if they don't have a fully up to date list of which PC name belongs to which colleague, then you're essentially back to square one. Second best option is to query the LoginHistory sObject via Query Editor or Workbench.
The Salesforce for Outlook .msi version is generally deployed by the internal IT team and in order to achieve this, the IT team need to know the PC names (on Windows, it is My Computer | System Properities | 'Computer Name') for the users who will get this app installed.
The blind spot here, in my experience, is that although the IT team will be able to get a list of all the PC names which have a SfO app installed and the corresponding version(s) (a machine may have more than 1 different version of SfO installed on it), they may not know to which that PC name belongs to. Obviously, people move around desks a lot etc.
So, if this were the case, you would be back to square one.
*SELECT count(id), userid ui, ClientVersion cv FROM LoginHistory GROUP BY ClientVersion, UserId*
Unfortunately, one cannot filter on 'Application', so you can't say 'WHERE Application = 'Salesforce for Outlook'. This is because the sObject LoginHistory is very special (aka 'annoying') and there are a number of limitations on this object.
You will need to do a vlookup against the UserId to return the usernames but you will then see a grouped list of users by their login usage (count)id and their ClientVersion. Any user which has a ClientVersion value populated against it has that version of Salesforce for Outlook. For example '34.0' or '281.0' refer to 3.4 and 2.8.1 SfO versions respectively.
The blind spot here though, is that you assume that all users who have SfO, would be using it. But you probably can get most of the users.
What I have done in the past, when managing SfO for about 350 users, was to be religious with my own personal spreadsheet which logged every SfO version a user was on and their PC name at the time. I also used Outlook Configurations and put users on configuration A which had free text refering to the fact those users were on a certain version, and configuration B which had free text (i.e. 'Description' field) refering to those users as being on a different version.
Depending on the size of the company, users will move around from different versions, so keeping on top of which version users are on is important. Since functionality is different, it is best to standardise the version which users are on. In my experience, it wasn't ever worth updating users to a new version unless that new version had excellent functionality (the jump from 2.3.3 to 3 was a big enough of a 'pull').