powershell - 在 Powershell For 循环中保留换行符
问题描述
我有一个 DisplayNames 列表,我不想查找每个 SamAccountNames,但是当我没有找到 SamAccountName 时,我想保留一个空行。现在,当我针对我的 400 个 DisplayNames 列表运行它时,输出只有 350 个,但我不知道我的列表中缺少的 50 个在哪里。我现在拥有的是:
Get-Content C:\list.txt | ForEach-Object {(Get-ADUser -Filter {DisplayName -eq $_}).SamAccountName}
我在其他确实产生空行的命令中使用了类似的语法,但据我所知,使用-Filter似乎改变了一些导致空行不再存在的方式。
所以,而不是这样的事情:
jonesb
williamsj
bakere
我得到:
jonesb
williamsj
bakere
解决方案
400 DisplayNames 减去 350 SamAccountNames 得到 10?
我更喜欢看到无法评估 SamAccountName 的 DisplayName 的输出。
$Data = foreach ($DisplayName in (Get-Content C:\list.txt)){
[PSCustomObject]@{
DisplayName = $DisplayName
SamAccountName = (Get-ADUser -Filter "DisplayName -eq '$DisplayName'").SamAccountName
}
}
$Data | Out-GridView
$Data | Export-Csv C:\list.csv -NoTypeInformation
推荐阅读
- web-services - 响应没有从一个服务返回到另一个服务 - 微服务
- c# - 用于 HttpClient 实例的 BaseController
- haskell - 如何在某些记录中使用类型良好的路径
- c# - 如何解锁关卡并从 Unity 2D 中的获胜页面跳转到下一个场景?
- android - TableLayout不占用整个屏幕高度
- eclipse - STS4 Java 编辑器延迟 - 类路径通知
- angular - 从外部文件配置编译的电子应用程序
- reactjs - 安装 react mdl 后找不到模块
- dart - 如何在飞镖中拆分双值?
- javascript - 使用 CSS 无限滚动照片横幅