Цель этого скрипта - извлечь все идентификаторы сотрудников из AD, а затем сравнить их со всеми идентификаторами сотрудников в SQL. Каждый идентификатор сотрудника, которого нет в SQL, является предполагаемым выводом.
import-module activedirectory
$sqlpeeps = Invoke-Sqlcmd -ServerInstance '192.168.1.1' -Database 'COMPANY' -Query "SELECT EmployeeID FROM [COMPANY].[dbo].[employee] WHERE [COMPANY].[dbo].[employee].[EmployeeStatus] in ('A', 'S', 'L')"
$adpeeps = get-aduser -filter * -searchbase "OU=OU,OU=OU,OU=OU,DC=DC,DC=COM" -properties 'EmployeeID'
$adpeeps | where-object { $_ -notin $sqlpeeps} | out-host
То, что у меня сейчас, похоже, выводит все идентификаторы сотрудников