首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Powershell Get-WmiObject访问被拒绝

Powershell Get-WmiObject访问被拒绝
EN

Stack Overflow用户
提问于 2012-08-15 19:05:42
回答 4查看 36.8K关注 0票数 2

我有一个包含以下行的Powershell脚本:

代码语言:javascript
运行
复制
$package = Get-WmiObject -Class Win32_Product -ComputerName $TargetServer -Filter ("Name='{0}'" -f $ApplicationName)

为了在服务器之间启用Powershell远程处理,我遵循了这个答案中的步骤:remoting security steps

当我从Powershell ISE (在提升的管理窗口中)运行该脚本时,我收到以下错误:

代码语言:javascript
运行
复制
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

我需要能够在ISE中运行该脚本,以便能够排除其他问题。

有人能建议我需要做些什么来修复这个安全错误吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-23 21:40:19

我需要将凭据传递给Get-WmiObject cmdlet。

我在这里找到了答案:Powershell Masters

票数 3
EN

Stack Overflow用户

发布于 2018-10-12 10:15:36

在猜测了一段时间后,缓存的凭据是我的问题。

打开windows凭据管理器:

rundll32.exe keymgr.dll,KRShowKeyMgr

删除所有缓存条目。

票数 0
EN

Stack Overflow用户

发布于 2021-08-06 23:52:32

要扩展Rob Bowman的答案,您可以预先收集凭据,或者在运行命令时收集凭据。

  • (更好,因为您可以在将来的Get-WmiObject命令中重复使用它:

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

  • 内联:

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11968210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档