此脚本的目的是从 AD 中提取所有员工 ID,然后将它们与 SQL 中的所有员工 ID 进行检查。SQL 中不存在的每个员工 ID 都是预期的输出。
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
我现在所拥有的似乎输出了所有员工 ID