這是一個簡單的問題,但它困擾着我。運行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 2010-04-20 21:00:57