Forum Discussion
PowerShell - ActiveX Control Error
- Apr 24, 2023
ColeRiese Does your script utilize any forms? (e.g. $form1 = New-Object System.Windows.Forms.Form)
I just got done going through this and was finally able to work around it. It is my understanding that there is a bug in newer versions of the Exchange Online module. If you are using any sort of forms in your script and those forms are called before you connect to Exchange Online it generates the error. If you connect to Exchange Online first, then the form is called, there is no issue.
I had to tweak our script to connect to Exchange Online first, then add a prefix to our on-prem exchange session to prevent any conflicts. Here are a couple links I found during my search that helped me track down the issue.
https://twitter.com/DanielSjoegren/status/1406954671248396292
https://www.sapien.com/forums/viewtopic.php?t=15297
https://www.sapien.com/forums/viewtopic.php?t=16213&sid=b1fcd3f71b3ada945eeb75f4dbc4490f&start=10
Hope this helps!
- ColeRieseApr 24, 2023Copper ContributorYes, I still got the ActiveX error
- Apr 24, 2023Could you share the part of the script which gives you the error?
- ColeRieseApr 24, 2023Copper ContributorThis is the exact error that I get:
ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
At C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\3.1.0\netFramework\ExchangeOnlineManagement.psm1:729 char:21
+ throw $_.Exception.InnerException;
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], ThreadStateException
+ FullyQualifiedErrorId : ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.