I'm trying to achieve the following: I would like to run a remote powershell script on a computer that is not in a domain.

I've researched a lot and set up already all permissions/firewall rules etc that brings me to the following result.

When I try to run the following:

Invoke-Command -ComputerName thecomputer -ScriptBlock { $Session = New-Object -ComObject Microsoft.Update.Session } -credential regularuser

I get the following error:
Creating an instance of the COM component with CLSID {4CB43D7F-7EEE-4906-8698-6 0DA1C38F2FE} from the IClassFactory failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)).


  • when I add regularuser in the admin group on the remote pc, it works

  • running the same command locally with regularuser (non admin) works fine

  • also, when I try to run

    Invoke-Command -ComputerName thecomputer -ScriptBlock { Get-ChildItem C:\ } -credential regularuser

    it works perfectly.

I believe that all connectivity is set up correctly (it works as admin user, as well as a regularuser with a different script).

It seems a rights problem on the specific Microsoft.Update.Session COM object. Does anyone have any ideas on how to solve this (without resorting to an admin user).

I also tried disabling the firewall (long shot but read it on some other post), but same result. Remote machine is Windows 10 professional.

Thank you in advance,

  • What happens when remote into the computer as the user and run the command $Session = New-Object -ComObject Microsoft.Update.Session manually? – Persistent13 Mar 20 '17 at 22:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.