Get-WMIObject завершается ошибкой при запуске AsJob - PullRequest
0 голосов
/ 20 апреля 2010

Это простой вопрос, но он поставил меня в тупик.

$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.

Reason:System.UnauthorizedAccessException: Access is denied. 

Я перебрал с -Impersonation, -Credentials, -Authority и -EnableAllPrivileges в noполезный эффект.Похоже, я пропускаю что-то фундаментальное.Почему моему приглашению Powershell разрешено подключаться к удаленному серверу, а моему дочернему процессу отказано?

Ответы [ 2 ]

1 голос
/ 21 апреля 2010

Удаленный компьютер и компьютер, на котором вы работаете, настроены для удаленного взаимодействия PowerShell V2? Если вы посмотрите на справку по get-wmiobject, то в ней говорится следующее:

Примечание: чтобы использовать этот параметр с удаленные компьютеры, локальные и удаленные компьютеры должны быть настроены для Remoting. Кроме того, вы должны начать Windows PowerShell с помощью «Выполнить как администратор »в Windows V Иста и более поздние версии Windows. Для получения дополнительной информации см. about_Remote_Requirements.

0 голосов
/ 24 марта 2011

«Отказано в доступе», которое вы видите на самом деле от DCOM. - AsJob и WMI используют более эффективную форму удаленного взаимодействия WMI, известную как асинхронное удаленное взаимодействие. Из-за этого вам необходимо выполнить некоторые дополнительные изменения конфигурации брандмауэра. В частности, я считаю, что вам нужно «Разрешить удаленное администрирование» в интерфейсе брандмауэра Windows.

Этот документ в MSDN описывает настройку более подробно:

Подключение к WMI через брандмауэр Windows

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...