powershell - 收集 samaccount powershell
问题描述
我在 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
我有点迷茫,我不知道如何使用名称进行 foreach
我正在尝试但没有成功。
试图根据 csv 文件上的名称获取 samaccountname。
Import-Csv -Path C:\Temp\userteste.csv | foreach-Object {Get-ADUser -Filter {Name -like $_.name} -Properties Name | Select-Object samAccountName}
并导出为 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
根据您的评论,您需要获取 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
希望有帮助
推荐阅读
- c# - linux系统上的Azure Table/Blob/Queue随机超时(k8s .net core 3 app)
- java - 使用 javax.json API 引用的布尔值
- rest - 带有原始请求正文发送文档的 Multipart/form-data
- sql - 如何从列表中选择一个值
- php - 在 Codeigniter 应用程序的 PCF 中找不到 mysqli 驱动程序错误
- javascript - 如何在 Google 表格/应用程序脚本中创建多选下拉复选框?
- reactjs - 何时使用 Redux Thunk?
- c# - WPF Telerik 散点图颜色
- mysql - 如果满足条件,则将列的总和分配给另一列中一个日期的月份
- typescript - Typescript 使用条件类型编写RequiredProps 泛型