간단한 질문이지만 문제가 있습니다.AsJob을 실행하면 Get-WMIObject가 실패합니다.
$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와 jiggered했습니다. 나는 근본적인 무언가를 간과하고있는 것처럼 보입니다. Powershell 프롬프트가 원격 서버에 연결할 수 있지만 내 자식 프로세스가 거부 된 이유는 무엇입니까?
Grrrrrrr-GLE>하는 데 도움이 - 서버에서 실행할 때/코드는 잘 실행됩니다. 예비 추측 : 내 트래픽을 가로 채고있는 방화벽이 있습니다. – codepoke