首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行AsJob时Get-WMIObject失败

运行AsJob时Get-WMIObject失败
EN

Stack Overflow用户
提问于 2010-04-21 03:51:09
回答 2查看 2.9K关注 0票数 0

这是一个简单的问题,但它把我难住了。

代码语言:javascript
复制
$cred = Get-Credential
$jobs = @()
$jobs += Get-WmiObject `
-Authentication 6 `
-ComputerName 'serverName' `
-Query 'Select * From IISWebServerSetting' `
-Namespace 'root/microsoftiisv2' `
-EnableAllPrivileges `
-Credential $cred `
-Impersonation 4 `
-AsJob

$joblist = Wait-Job -Job $jobs -Timeout 60

foreach ($job in $jobs)
{
    if ($job.State -eq "Completed")
    {
        $app = Receive-Job -Job $job
        $app
    } else {
        ("Job not completed: " + $job.Name + "@" + $job.State + ". Reason:" + $job.ChildJobs[0].JobStateInfo.Reason)
        Remove-Job -Job $job -Force
    }
}

直接运行查询成功,运行-AsJob查询失败。

代码语言:javascript
复制
Reason:System.UnauthorizedAccessException: Access is denied. 

我使用过-Impersonation、-Credentials、-Authority和-EnableAllPrivileges,但都没有什么有用的效果。看起来我忽略了一些基本的东西。为什么我的Powershell提示符被允许连接到远程服务器,但我的子进程被拒绝?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-22 00:57:58

是否为PowerShell V2 remoting配置了远程计算机和正在运行此操作的计算机?如果您查看get-wmiobject的帮助,它会显示以下内容:

注意:若要将此参数用于远程计算机,必须将本地计算机和远程计算机配置为远程处理。此外,您必须在Windows V ista和更高版本的Windows中使用“以管理员身份运行”选项来启动Windows PowerShell。有关更多信息,请参见about_Remote_Requirements。

票数 1
EN

Stack Overflow用户

发布于 2011-03-24 16:57:08

您看到的“拒绝访问”实际上来自DCOM。-AsJob和WMI使用一种更好、更有效的WMI远程处理形式,称为异步远程处理。因此,您必须进行一些额外的防火墙配置更改。特别是,我认为您需要在Windows防火墙用户界面中使用“允许远程管理”。

这篇关于MSDN的文档更详细地介绍了该设置:

Connecting to WMI Thru Windows Firewall

希望这能有所帮助

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

https://stackoverflow.com/questions/2678163

复制
相关文章

相似问题

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