작업과 함께 다음 스크립트를 실행하려고하지만 블록의 코드가 첫 번째 명령 만 실행하고 종료됩니다. 내가 주석 -asjob -jobname IIS_Maintenance
작업이 잘 실행하면 작업은 컴퓨터PowerShell 원격 세션 및 Start-Job 문제
$computers = get-adcomputer -filter * | where { ($_.DNSHostName -match 'server')}
foreach ($computer in $computers) {
$session = New-PSSession -ComputerName $computer.DNSHostName
Invoke-Command -Session $session -ScriptBlock {
Stop-Service W3SVC -Force
Remove-Item "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\root" -Force -Recurse
Start-Service W3SVC
} -asjob -jobname IIS_Maintenance
Remove-PSSession -Session $session
}
완료 표시하지만 동기입니다. IIS를 중지하는 데 몇 초가 걸리지 만 왜 일자리가 기다리지 않는지 모르겠습니다.
생각하십니까?
'Invoke-Command -Computer $ computers -ScriptBlock {...} -AsJob -JobName IIS_Maintenance'? –
이 작업을 비동기 적으로 수행하려고합니까? – ArcSet
Argghhhh 방금 잘못된 코드를 넣었습니다. 문제가 무엇인지 파악하기 위해 실험을 시작했습니다. 올바른 코드는 다음과 같습니다. $ 세션 = New-PSSession -ComputerName $ computer.DNSHostName Invoke-Command - 세션 $ 세션 -ScriptBlock .... 시작 - 작업 줄이 없습니다. 예, 비동기 방식으로이 작업을 실행하려고하므로 X 개의 병렬 작업을 가질 수 있습니다. – opti2k4