여기서 내 목표는 다음과 같은 명령을 실행하는 것입니다.get-adcomputer | Install-WindowsUpdate -AcceptAll -AutoReboot
모든 AD 컴퓨터를 가져와서 ComputerName을 .NET의 ComputerName 속성에 파이프하고 싶습니다 Install-WindowsUpdate
. @foreach 문을 시도했지만 한 번에 하나씩 수행하기 때문에 실행하는 데 시간이 오래 걸립니다. 여러 대의 컴퓨터를 동시에 사용할 수 있는 방법을 찾고 있습니다.
어떤 아이디어가 있나요?
답변1
그래서 제가 한 일은 Get-ADcomputer에서 컴퓨터 변수를 만드는 것이었습니다. "Name" 속성을 가져오기 위해 select 문을 파이프로 연결했는데 그게 성공했습니다. 그런 다음 변수를 명령에 연결했습니다.
$computer = Get-ADComputer -SearchBase "OU=Computers,DC=my,DC=domain,DC=com" -Filter 'Name -like "*vdi*"' | Select -ExpandProperty name
Get-windowsupdate -ComputerName $computer -AcceptAll -Install -AutoReboot
이 작업을 수행하려면 모든 컴퓨터에 PSWindowsUpdate가 설치되어 있고 Enable-WURemoting 및 set-executionpolicy가 제한되지 않았는지 확인해야 합니다. 이는 별로 마음에 들지 않습니다.
이것이 다른 사람들에게 도움이 되기를 바랍니다.