Tás*_*ini 3 powershell active-directory
我有一个 CSV 格式的用户列表,但我需要按广告中的名称从每个用户那里收集 SamAccount 属性。
CSV模型
脚本
Get-ADObject -Filter 'ObjectClass -eq "user" -and userAccountControl -eq "512"' -Properties * | Select-Object SamAccountName,CN,DisplayName, | Export-CSV -Path C:\Temp\UserAccounts.csv -Encoding UTF8 -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
我有点迷茫我不知道如何使用名称进行 foreach
我正在尝试但没有成功。
试图根据 csv 文件上的名称获取 samaccountname。
Import-Csv -Path C:\Temp\userteste.csv | foreach-Object {Get-ADUser -Filter {Name -like $_.name} -Properties Name | Select-Object samAccountName}
Run Code Online (Sandbox Code Playgroud)
并导出到 csv 文件。
为什么使用Get-ADObject
而不是Get-ADUser
为此?后者为您提供了 CSV 中所需的更多所需属性。
顺便说-Properties *
一句,如果您想要的只是一小组用户属性,那么这样做是很浪费的。
这样的事情应该工作:
Get-ADUser -Filter "Enabled -eq $true" -Properties DisplayName, CN |
Select-Object SamAccountName, CN, DisplayName |
Export-Csv -Path C:\Temp\UserAccounts.csv -Encoding UTF8 -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
根据您的评论,您需要获取 CSV 中列出的用户的一些额外属性,您可以执行以下操作:
Import-Csv -Path C:\Temp\userteste.csv | ForEach-Object {
Get-ADUser -Filter "Name -like '$($_.Name)'" -Properties DisplayName, CN |
Select-Object SamAccountName, CN, DisplayName
} | Export-Csv -Path C:\Temp\UserAccounts.csv -Encoding UTF8 -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)
希望有帮助
归档时间: |
|
查看次数: |
51 次 |
最近记录: |