使用powershell从AD获取sAMAccount



我有一个包含DisplayNames的CSV文件。我可以读取CSV文件,填充sAMAccount和电子邮件地址,并使用下面的代码将其保存到另一个CSV文件中。

我现在想添加两个附加功能:1-附加文件并将此信息添加到每个名称旁边的行中,
2-如果在AD上找不到用户,请为sAMAccount和电子邮件填充"未找到"。

$usernames = Import-Csv  "filepath.csv" | ForEach-Object {
Get-ADUser -Filter "name -like '$($_.name)'" -Properties name| 
Select-Object SamAccountName, userPrincipalName} | Export-Csv -Path filepath.csv

csv示例

name
john block
Helen阿姨
joe叔叔

导出文件的样子

"SamAccountName"userPrincipalName">
"johnb01"john.block@mail.com">
"joeu01"joe.uncle@mail.com">

我希望文件的外观

"name"SamAccountName"userPrincipalName">
"john block"johnb01"john.block@mail.com">
"海伦阿姨"quot;未找到"未找到">
"乔叔叔"joeu01"joe.uncle@mail.com">

如果您从AD获得了用户帐户,则需要添加一些内容来评估,如果没有,则需要在其中输出一些内容。

Import-Csv  "filepath.csv" | ForEach-Object {
$User = Get-ADUser -Filter "Name -like '$($_.Name)'" -Properties DisplayName | Select-Object DisplayName,SamAccountName,userPrincipalName
If($User -ne $null){$User}else{[PSCustomObject]@{displayName=$_;samAccountName='Not Found';userPrincipalName='Not Found'}}
} | Export-Csv -Path filepath.csv

最新更新