powershell - 获取 ADUser 中的 Foreach
问题描述
在这一点上,我已经尝试了很多不同的组合,但我快要干了。我有一个 CSV 文件,其中包含 117321 格式的人的用户名 ( Users ),它指的是他们的登录名。我正在尝试获取所有这些用户的主目录路径并将它们导出到 CSV。这是我到目前为止所拥有的,但它似乎不起作用。我什至尝试过过滤器。
$InputFile = 'C:\Users.csv'
$Users = Import-CSV $InputFile
$OutputFile = 'C:\Directory Results.csv'
$HomeDirOutput = ForEach ($User in $Users) {
Get-ADUser -LDAPFilter "(sAMAccountName=$user)" -Properties homedirectory
}
$HomeDirOutput | Export-Csv $OutputFile -NoTypeInformation
我得到的只是一个空白的电子表格。
解决方案
-Identity
sAMAccountName 是传递给Get-ADUser 参数的有效值。假设 CSV 包含一列“AccountName”,您应该能够做到
Import-CSV -Path $InputFile | ForEach-Object { Get-ADUser -Identity $_.AccountName -Property sAMAccountName,HomeDirectory } | SelectObject -Property sAMAccountName,HomeDirectory | Export-CSV -NoTypeInformation -Path $OutputFile -Append
(在确保输出文件不存在之后)。
推荐阅读
- ggplot2 - 有没有办法表明一个组的平均值为零?
- java - 从 Java SE 应用程序连接 EC2 上的 Mysql 数据库
- sql - 使用sqlserver从具有不同格式的日期列中提取月和年的3个字母
- python - Python中的有效累积和
- c++ - 我需要能够在 C++ 编译时将文件加载到字符串中吗?
- python - 如果我有空白标题条目,pd.read_csv 创建一个多索引数据框
- spring - 在 Spring Boot 中拦截和重定向请求
- git - 致命:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号
- python - 如何自定义绘图的尺寸
- c# - 如何检查字典中是否存在键,然后在使用 .ToDictionary() 时替换它的值