Teams for Mac Spellcheck Not Working KB ID 0001842
Problem
I’m running Teams for Mac (Microsoft Teams Classic) and this has happened a couple of times now. My spelling is terrible, so I tend to just type furiously and then go back and fix my spelling mistakes. As with all ‘office based’ application it helpfully underlined all the typos in red, then USUALLY I can right click and correct them.
Each time it breaks I can see what has been misspelled but the right click menu does not appear, like so
Solution: Teams for Mac Spellcheck Not Working
The first time this happened I simply changed languages from English (US) to English (United Kingdom) and the problem went away. But it returned today.
I had to run the following command (Warning: This will drop all your Teams personal settings and you will need to re-authenticate). Firstly quit Teams if it’s still running, then execute the following command, (in Terminal)
When attempting to perform a ‘Search’ whilst in Microsoft Outlook, you encounter a problem (it’s not working).
Something went wrong and your search couldn’t be completed.
Solution
Let’s be clear here, I’m dealing a problem on the ‘client side‘ either with Outlook itself, or with Windows indexing. If you have multiple clients with their mailboxes in an ‘on-premise Exchange Server’ then the problem is probably indexing on their mailbox database, (as long as it’s not Exchange 2019 (or newer) as indexing in new versions of Exchange is done at mailbox level). If that is your problem and you are running Exchange 2016 (or earlier), then see the following article first.
Each of the following may work, or you may need to work though the list, but BE AWARE once indexing is fixed it can take some time (depending on how much email you have) to index it all, be patient.
Incomplete Missing Outlook Search Results
Before we start ‘fixing’ search, are you sure you are not just missing emails because modern Outlook will only cache 3 months of email locally, so emails older than that, simply cannot be seen by the index? If so you may need to change the following setting.
Microsoft Outlook: Check Indexing, and Rebuild Index
Within Outlook > File > Options > Search > Indexing Options.
Make sure Microsoft Outlook is listed.
Note: You can get to the same options in ‘Control Panel’ > Indexing options.
If Microsoft Outlook is NOT listed: Modify > Select it > OK.
If Microsoft Outlook is IS listed: Advanced > Rebuild > OK.
While in this window, go to the ‘File Types‘ tab, and ensure .msg files are selected.
This might take a while! You can see progress, by clicking in the search box > Search Options > Indexing Status.
Windows Search Service
Outlook indexing relies on the Windows Search Service, Run services.msc > Locate the Windows Search Service, ensure it’s running, and it should be set to Automatic (Delayed Start).
Repairing Windows Search Service
Sometimes it wont start, or you simply want to flush its contents and start again. Occasionally you may need to set the service to ‘disabled’ and reboot before it will let you manipulate it, but I simply opened an administrative Powershell window, and ran the following Powershell commands;
Note, Before I’m Asked: I used sc.exe and not set-service, because you need Powershell v6 to set a service as ‘Automatic Delayed Start’, and all the visitors may not have Powershell version 6.
Don’t Panic if the service takes a long time to start, (it’s recreating a lot of files!)
Make Sure Outlook Indexing Has NOT Been Disabled In the Registry
To save you poking about in the Regisry just run the following TWO Powershell commands;
I detest PST files with a passion! Please stop using them, there’s far more efficient ways of storing old emails for those of you that simply need to keep ‘every‘ email you’ve ever received, sent, or deleted. A broken or corrupt PST file can also break search/indexing.
If you are using PST file(s) then firstly you need to know where it/they are. You can get that from their properties > Advanced > Filename.
Secondly you need to run the scanpst.exe program to scan and fix them. Each version of Office puts this in a different place annoyingly, but here I’ll tech you some old-school search ninja skills to find it on your PC, (this also saves me listing all the versions and locations, and having to keep updating them!)
After while it should show you where scanpst.exe is, (this is still how I search for files, it’s a lot quicker);
You can now run scanpst.exe and point it at your PST files.
Check Indexing has NOT been disabled by Group Policy
You can get a group policy enforced on you remotely by your IT admins, or on your local PC with local group policy (unless you run a ‘Home’ version of windows where there is no group policy. You can run winver from command line or Powershell and that will tell you, if you’re unsure).
Here I’m going to use Resultant Set Of Policy, to show me the sum total of ALL policies being applied to make sure some doofus hasn’t disabled indexing for the drive/location. My outlook Index should be in (C:\ProrgamData\Microsoft by default, Note: That’s a hidden folder so you may not see it if you try and browse to it).
Run > mmc.exe > File > Add/Remove Snap-in > Resultant Set of Policy > Add > OK.
Right click Resultant Set of Policy > Generate RSoPData > Next.
Accept all the defaults (keep clicking next) > Finish.
Below, someone has disabled Indexing, (on the C drive!) You should NOT be able to see this. In fact you may not even see administrative templates.
Note: Above it’s been set in ‘Local‘ policy, if yours has been set by ‘Domain‘ group policy, you will need to speak to your IT department.
Repair Microsoft Office
Run appwiz.cpl > Locate Microsoft Office > Change > Yes.
Try Quick Repair first (you can rerun and try Online Repair if you wish afterwards) > Repair > Close.
Update Microsoft Office
You should be able to update office from File > Office Account > Update eOptions > Update Now.
I cant see that option! If you have a retail or volume copy of Windows you may need to manually download the updates. To find out your version of office see the following link;
I use EVE-NG a lot, it’s an awesome tool. Also I’m lucky enough to have my own ESX servers, so that’s where it lives. I’ve noticed this problem before, but I’ve either given up, and done something else, or it’s manifested itself in an ‘odd’ way that I can work around.
If you’re new to connecting EVE-NG to a live network you might want to read the following post first;
When setting up a new lab, I connected a Ciso IOL router to my cloud object, and it successfully got an IP from DHCP, but could not communicate with the outside world. So I replaced it with a Cisco (Dynamips) router, same thing! So I replaced with with a Cisco ASAv, same thing!
I moved the EVE-NG machine onto its own standard vSwitch, (no difference).
I hadn’t committed the ‘schoolboy error‘ of forgetting to allow promiscuous mode on the port group.
I could also see from my physical network, that there was layer 2 connectivity happening, as it was in in the ARP cache of my core switch.
I did notice that if I waited for a long time, it would start working, so (on the Core Switch) I flushed the ARP cache, and pinged the EVE-NG device and got a response, then it worked fine from EVE-NG, (for a while, in a manner of speaking!) If I tried to NAT any other traffic, or do anything else, then the problem returned. I could keep flushing the ARP cache on the switch, but that’s a bit annoying?
Solution
Well, (in my case) the problem turned out to be a problem with the fact I have ‘teamed‘ physical NICs on the vSwitch, which you can see above (vmnic0, and vmnic7). AS SOON as I removed one, and only had one physical uplink it worked faultlessly?
Everything works now.
Note: I tried changing the load balancing algorithms to ‘Route based on IP hash‘, ‘Route based on source MAC hash, and even ‘Use Explicit failover order‘, none of these worked.
I did see other people in forums that were saying, ‘I only have one physical uplink‘, I’m suspecting that in their case, it’s promiscuous mode was missing, but feel free to comment below, if any one manages a better work-around / fix / explanation.
Related Articles, References, Credits, or External Links
While replacing a server, I copied over some scripts, (batch files) the client was using to back up some data. I scheduled them on the new server, but noticed they were finishing with a status of 0x1. (and not actually backing anything up!)
Solution
Edit the properties of the job > General Tab > Tick “Run with the highest privileges”.
Note: You can also tick “Do not store password. This task will only have access to local computer resources” if the process is only running on this machine.
Actions > Select the Action and edit it > Change the ‘Start In‘ section, so that it points to the folder the script is in > OK >Apply > OK.
Rerun the job and it should complete with a 0x0 status (successful).
Related Articles, References, Credits, or External Links
I needed to reboot one of my ESX hosts yesterday, so I jumped on the DRAC and got this?
An internet search turned up, “The best way to fix this is, firmware update the iDRAC”, which I did. But sadly it didn’t fix the problem.
Solution
In IE11 they have done a good job of hiding compatibility settings > Options > Compatibility View Settings > Type in the IP/URL > Add > Close > Wait a few seconds.
And we are good to go!
Related Articles, References, Credits, or External Links
Note: Below I’m using Exchange 2016, but the same approach will work for previous versions.
There are a load of reasons why you might want to do this, but before you go off in this direction consider why you are doing this in the first place. For example, if the user requesting this does not need an Exchange mailbox, i.e. because they only use their Gmail account then it’s probably a better idea to make them a mail-user. (That’s an AD user account, that has an external mailbox, and does not have an Exchange mailbox). For staff e.g. external contractors, part time staff, holiday cover staff, Mail-users might be a better fit.
If you are still reading you have a user with an Exchange mailbox, and you want to forward their email to an Email address outside your organisation, there are many ways of enabling forwarding, but fundamentally there’s only two things to consider;
Do you still want mail to get delivered to their Exchange mailbox while forwarding?
What is the external Email address you want to forward to?
Armed with this information you can decide what approach you want to take to achieve this.
Solution
Option 1: Get The User to Set Up Mail Forwarding in OWA
The best option for the lazy admin! “Oh, are you aware you can set this up yourself?” Even give them this URL as a walkthrough if you like 🙂
From within Outlook Web App open your ‘Options’
Mail > Inbox and Sweep Rules > Inbox Rules > Add
Note: On older versions of OWA look in Organize email > inbox rules > Add.
Give the rule a name > Set to [Apply to all messages] > Forward Redirect or Send > Forward Message To.
Note: Setting Redirect instead of Forward will NOT keep a copy in you local Exchange Mailbox.
Enter the external email address to forward to > Save.
OK.
Option 2: Enable Mail Forwarding In Exchange Admin Center
To forward mail externally for an ‘Exchange Mailbox User’, you need to create a ‘Contact’. A contact is an active directory object (not a user) that has an email address (in our case the external one). Log into Exchange Admin Center > Recipients > Contacts > Add > Mail Contact.
Create a contact and give it a sensible name (so when it appears in the Global Address List it’s obvious what it is*)
*Note: You can hide them from the GAL if you like, with the following PowerShell;
On the Mailbox Tab, locate the user you want to setup forwarding for, and edit them.
Mailbox Features > Scroll Down to ‘Mail Flow‘ > View Details > Tick ‘Enable Forwarding‘ > Browse to the CONTACT you created earlier > OK.
Note: You may also want to select “Deliver message to both forwarding address and mailbox”.
Option 3: Setup Mailbox Forwarding With PowerShell
There’s a lot of rubbish written about this online, sites give you a line of PowerShell to paste in and it does not work, because there’s other things you need to do to make this work.
Example 1: Couldn’t find object “pete@externaldomain.com“. Please make sure that it was spelled correctly or specify a different..
If you setup mail forwarding using the ExternalEmailAddress you need to CREATE A CONTACT FIRST! Or you see the error above.
To Setup External Forwarding and Keep a Local Copy of the Email
Note: It’s the ‘$false‘ that does not maintain the local copy.
What about ExternalSMTPEmailAddress?
OK there’s another parameter you can set, it’s called ExternalSMTPAddress when you set this you DON’T NEED A CONTACT. This sounds great and again theres a load of blog posts that give you the PowerShell to set this for a user AND IT DOES NOT WORK!
Note: If you setup mail forwarding using this method the forwarding address is NOT VIEWABLE IN THE GUI, if you have enabled keep a local copy, that IS viewable.
Example 2 : My ExternalSMTPAddress Forwarder is not working?
This is because what other sites don’t tell you is unless you specified the target domain (for the remote email address), as AutoForwardEnabled it has a habit of not working!
See Below to setup Mail forwarding with ExternalSMTPAddress properly.
To Setup External Forwarding and Keep a Local Copy of the Email
Note: It’s the ‘$false‘ that does not maintain the local copy.
Removing Mail Forwarding For a User
I wont insult your intelligence and tell you how to do this in the GUI just reverse engineer the above, but if you used ForwardingSMTPAddress you wont see it in the GUI! To remove ALL forwarding for a user, use the following command;
My laptop does not have RGB or DVI on it for an external monitor, it has just got an HDMI connector. While I was working in the office I thought I’ll pop my headphones in and listen to some music, and was met with silence?
Solution
When you connect an HDMI device windows ‘assumes’ that you will be outputting sound to that device, (great thanks).
1. Open Control Panel (Window Key+X on Windows 8) > Sound. Below you can see it has set the monitor as the default playback device.
2. Select your speakers (even if you want headphones, that’s what the HP is for!) > Set Default > Apply > OK.
Related Articles, References, Credits, or External Links
Server: Windows Server 2012 R2 Client: Windows 8 Enterprise
I was setting auto-enrollment this morning, and the computer certificates were getting issued but not the user ones. The policies were correct, the registry keys on the clients were correct, even RSOP told me the users ‘should’ be getting certificates.
However nothing was working so I decided to ‘manually enroll’ and this happened;
The Email name is unavailable and cannot be added to the Subject or Subject Alternate name. Denied by Policy Module the request ID is {number}
As I could see it was denied, I went and looked in failed requests, sure enough, here was where my auto enrollment had been failing.
Event ID Logs
A look in the event log on the Certificate Server also gave me this.
Log Name: Application
Source: Microsoft-Windows-CertificateServicesClient-CertEnroll
Date: 03/02/2015 13:31:07
Event ID: 13
Task Category: None
Level: Error
Keywords: Classic
User: PETENETLIVEpetelong
Computer: PNLWin800v.petenetlive.com
Description:
Certificate enrollment for PETENETLIVEpetelong failed to enroll for a PNL-User
certificate with request ID 23 from PNLPKI00v.petenetlive.competenetlive-CA
(The EMail name is unavailable and cannot be added to the Subject or Subject
Alternate name. 0x80094812 (-2146875374)).
Log Name: Application
Source: Microsoft-Windows-CertificateServicesClient-AutoEnrollment
Date: 03/02/2015 13:28:52
Event ID: 6
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: PNLWin800v.petenetlive.com
Description:
Automatic certificate enrollment for PETENETLIVEpetelong failed (0x80094812)
The EMail name is unavailable and cannot be added to the Subject or Subject
Alternate name.
Solution
The certificate template I was using needed the following option removing (WARNING: Don’t do this if you are going to use these certs to sign emails – I was not). I also removed the include E-mail name option below.
Or (as a quick fix -I was on my test network with one user) I simply gave that user an entry in their Email field in Active Directory.
Another Option: Give all users an email address using PowerShell, see the following article;
Error seen on some users on both Exchange 2007 and 2010, (post migration) form earlier versions of Exchange. When it fails you will also see this error.
Event ID 1053 MSExchange ActiveSync
Exchange ActiveSync doesn’t have sufficient permissions to create the “CN={User Name},OU=<OU Name>,DC={Domain Name},DC=com” container under Active Directory user “Active Directory operation failed on servername.domain-name.com This error is not retriable. Additional information: Access is denied.
Active directory response: 00000005: SecErr: DSID-031521D0, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
Make sure the user has inherited permission granted to domainExchange Servers to allow List, Create child, Delete child of object type “msExchangeActiveSyncDevices” and doesn’t have any deny permissions that block such operations.
Solution
Note: This can happen if the user is a member of any of these groups.
If your user IS a member of any of these groups, then have their ActiveSync device ready to be configured, as this fix will “revert” back every hour. If you get it connected and working before it reverts you will be fine.
Note: Users and mailbox’s created post migration are NOT affected.
1. On your Exchange Server > Launch the Exchange Management Console > Server Configuration > Select your CAS Server > Properties > Security Settings > Locate the DC that it is using.
2. Go the that Domain Controller, and press Windows Key+R > dsa.msc {enter} > Active Directory Users and Computers should open.
3. View > Ensure Advanced Features is enabled > Locate the problem user > Properties > Security > Advanced > Ensure Exchange Servers is present > Tick the box to “Allow inheritable permissions from this objects parent” > Apply.
4. Now attempt to connect your ActiveSync client.
Related Articles, References, Credits, or External Links