Powershell Get-WmiObject Access is denied

2019-04-12 16:10发布

问题:

I have a Powershell script containing the following line:

$package = Get-WmiObject -Class Win32_Product -ComputerName $TargetServer -Filter ("Name='{0}'" -f $ApplicationName)

I followed the steps on this answer in order to enable Powershell Remoting between the servers: remoting security steps

When I run the script from the Powershell ISE (in an elevated admin window) then I get the following error:

Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
At line:1 char:14
+ Get-WmiObject <<<<  win32_bios -computername d-vasbiz01
+ CategoryInfo          : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
+ FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

I need to be able to run the script in the ISE so that I can troubleshoot other problems.

Can anyone please suggest what I need to do to fix this security error?

回答1:

I needed to pass credentials to the Get-WmiObject cmdlet.

I found the answer here:Powershell Masters



回答2:

After guessing for a WHILE, cached credentials were my problem.

Open windows credentials manager:

rundll32.exe keymgr.dll,KRShowKeyMgr

Delete all cached entries.