我正在尝试使用powershell来查找新添加到Active Directory组的用户。我每天都将组成员导出到csv中,现在正在尝试通过比较前一天和当天的csv文件来获取新添加的组成员。
下面是我用来检查前一天的csv中是否不存在来自当天csv的用户的函数(这意味着他们是新添加的)。
$file1 = Import-Csv -path "C:\test\members_previous.csv"
$file2 = Import-Csv -path "C:\test\members_Current.csv"
foreach ($Item in $file2.samaccountname)
{
if ($Item -in $file1.samaccountname)
{
$true
}
else
{
$item
}
}
export-csv -path "C:\test|result.csv" -NoTypeInformation
导出的csv文件中不包含任何内容。
我不知道如何只将else语句的结果导出到csv中。else语句中的“$item”值包含用户的samaccountname。
我想解决办法可能很简单,但我想不出来。
提前感谢您的任何建议!
2条答案
按热度按时间kg7wmglp1#
我将假设您的问题代码中缺少一些东西,
Export-Csv
将需要一个“输入对象”来执行任何操作,而目前没有。使用
Where-Object
过滤所有samaccountname
值未出现在引用CSV(前一天)中的对象可以简化您的工作:如果两个CSV都非常大,那么您可能需要稍微更改代码,以便提高效率:
ktca8awb2#
@santiagosquarzon的回答稍有改进。