Это простой вопрос, но он поставил меня в тупик.
$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 разрешено подключаться к удаленному серверу, а моему дочернему процессу отказано?