我正在尝试获取一个域的SAMAccountNames,并将它们与来自另一个域的等号进行比较。
为了获得dc1的所有用户,我使用:
Get-ADUser -Filter * -SearchBase $SearchBase | Select-Object SamAccountName |
Export-Csv -path $exports -encoding "unicode" -notype
然后我再次导入csv并尝试比较它们的任何差异
$readthat = Import-CSV $exports -Header SamAccountName | ForEach-Object {
$user1 = Get-ADUser -Identity $_.SamAccountName -Properties $attributes
$user2 = Get-ADUser -Identity $_.SamAccountName -Properties $attributes -Server $dc2
$modified = @{}
$attributes | Where-Object { $user1.$_ -ne $user2.$_ } | ForEach-Object {
$modified[$_] = $user2.$_
}
}
所有这一切都很有效,除了它还试图找到SamAccountName当然会产生错误,因为SamAccountName = SamAccountName没有退出。
有关如何避免这种情况的任何提示,或者你们有更优雅的解决方案吗?
<。> .csv看起来像这样:"SamAccountName"
"foo"
"bar"
答案 0 :(得分:3)
不要使用-Header SamAccountName
上的import-csv
选项,应该会有很大的帮助。 -Header
选项适用于您导入的CSV文件没有标题的情况。 Export-CSV
cmdlet会为您添加标题,因此您不必这样做。