使用Samaccountnames将用户属性(主要是名字和姓氏)导出到CSV文件



我有一个CSV文件,其中包含某些用户的samaccount名称。

在此列表中,我想将这些用户的属性导出到 CSV 文件。

请在Windows Powershell ISE中分享最简单的方法。

我试过这个:

Import-ModuleActiveDirectory
Import-CSV C:scriptslist.csv | ForEach{Get-ADUser -Identity $samaccountname-Filter*-Properties*|export-csv c:ADusers.csv
} 

谢谢!

您没有向我们展示 CSV 文件的前几行。 正确的 CSV 文件有多个字段和一个标题行,如下所示:

"AccountName","EmailAddress"
"doe","john.doe@example.com"
"kent","clark.kent@example.com"

如果是这种情况,请执行以下操作:

Import-ModuleActiveDirectory
$userProperties = 'GivenName', 'SurName', 'Initials'
Import-Csv -Path "C:ScriptsList.csv" | ForEach-Object {
$user = Get-ADUser -Filter "SamAccountName -eq '$($_.AccountName)'" -Properties $userProperties -ErrorAction SilentlyContinue
if ($user) { 
$user | Select-Object -Property $userProperties
}
} | Export-Csv "C:ADUsers.csv"

如果您加载的文件仅在新行中列出了SamAccountNames,则这不是CSV文件,您应该使用:

Import-ModuleActiveDirectory
$userProperties = 'GivenName', 'SurName', 'Initials'
Get-Content -Path "C:ScriptsList.csv" | ForEach-Object {
$user = Get-ADUser -Filter "SamAccountName -eq '$_'" -Properties $userProperties -ErrorAction SilentlyContinue
if ($user) { 
$user | Select-Object -Property $userProperties
}
} | Export-Csv "C:ADUsers.csv"

如您所见,我在这里没有使用-Identity参数,因为如果未找到具有该 SamAccountName 的用户,则会引发异常。
这样,仅当用户实际存在时才生成输出。

此外,当您只想返回某些属性时,使用-Properties *也是一个主意。

希望有帮助

如果你想在ISE中做到这一点,你可能不需要/不想使用oneliner。

我建议先导入 CSV,然后运行 foreach。

$list = Import-CSV -path $filePath 
$result = New-Object System.Collections.ArrayList
foreach ($name in $list){
$adUser=Get-ADUser -Identity $name
$result += $adUser
}

从这里,您可以开始考虑错误处理等。

这将帮助您:

Import-ModuleActiveDirectory
Import-CSV -Path "C:ScriptsList.csv" | Foreach {
Get-ADUser -Identity $_ -Filter * -Properties *
} | Export-CSV "C:ADUsers.csv"

您的代码不起作用$samaccountname因为代码为空且空白,不包含用户名。所以我用自动变量 $_ 替换了它

将每个 SamAccountName 放在列表文件中自己的行中。

例:

user1
user2
user3

将列表.csv更改为文本文件(list.txt(,然后尝试此操作:

$username = Get-Content "C:scriptslist.txt"
ForEach($user in $username){
Get-ADUser -Identity $user | Select GivenName,Surname,Initials | Export-CSV -Path "C:ADUsers.csv"
}

最新更新