Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell列出所有不在其他内容中的内容_Powershell - Fatal编程技术网

Powershell列出所有不在其他内容中的内容

Powershell列出所有不在其他内容中的内容,powershell,Powershell,此脚本的目的是从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].[db

此脚本的目的是从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

$adpeeps
是AD用户对象的列表,但
$sqlpeeps
是员工ID,因此将其更改为:

$adpeeps | Where-Object { $_.EmployeeID -and ($_.EmployeeID -notin $sqlpeeps) }

好的,更新!我有一个正在输出的EmployeeID列表,但似乎所有出现false的内容都显示为一个空行,因此有一个包含大量空格的列表。有没有一个简单的方法来清理这些?更新了答案。这就是你的意思吗?