Active Directory 컴퓨터 목록을 불러 오는 방법은 다음과 같다.
Get-ADComputer-Filter * -Searchbase "ou=Lab, dc=test, dc=domain" | Select-Object –Property @{Label="ComputerName";Expression={$_.Name}}
이렇게 불러 온 것을 변수로 지정한다.
$adcom = Get-ADComputer -Filter * -Searchbase "ou=Lab, dc=test, dc=domain" | Select-Object –Property @{Label="ComputerName";Expression={$_.Name}} | New-PSsession
그런 다음 Get-PSsession을 한다. 그러면 여러 대의 컴퓨터에 세션이 맺어진 것을 알 수 있다
그런 다음 enter-pssession -id 1 으로 접속하여 원격 컴퓨터에서 작업을 하면 된다.
더 좋은 방법은 invoke-command를 이용하는 것이다.
help invoke-command -full을 보면 invoke-command -session $adcom을 사용할 수 있다고 한다.
그러면 invoke-command -session $adcom -scripblock {get-service | where {$_.status -eq "stopped"}}를 하여 AD의 OU가 Lab에 소속된 컴퓨터 10대에 접속하여 10대의 컴퓨터의 서비스 정보를 불러 올 수 있다.
더 나아가서 invoke-command -session $adcom -FilePath c:\scripts\myscript.ps1을 실행하여 스크립트 내용에 대한 정보도 10대의 컴퓨터에서 불러 올 수 있다는 것이다.
대단하다!









최근 덧글