powershell - Powershell 表达式哈希表到 CSV
问题描述
我正在尝试将从 ActiveDirectory 中提取的一些数据输出到 CSV,但输出不是我所期望的。如何将这些哈希表值导出到 CSV?毫无疑问,对此有一个简单的答案,但我的 google fu 今天似乎让我失望了。
foreach ($user in $user_data)
{
@{ name = 'DisplayName'; expression = { $user.DisplayName } },
@{ name = 'Email'; expression = { $user.EmailAddress } },
@{ name = 'AccountName'; expression = { $user.SamAccountName } },
@{ name = 'Description'; expression = { $user.Description } },
@{ name = "PasswordLastSet"; expression = { [datetime]::FromFileTime($user.pwdLastSet) } },
@{ name = 'Staff Number'; expression = { $user.pager } },
@{ name = 'LastBadPasswordAttempt'; expression = { $user.LastBadPasswordAttempt } },
@{ name = 'LastLogonDate'; expression = { $user.LastLogonDate } },
@{ name = 'logonCount'; expression = { $user.logonCount } },
@{ name = 'Enabled'; expression = { $user.Enabled } } |
Export-Csv $path2 -Append -NoTypeInformation
}
解决方案
由于您使用的是计算属性语法,因此您可以简单地使用Select-Object
而不是循环:
$user_data | Select-Object @{ name = 'DisplayName'; expression = { $_.DisplayName } },
@{ name = 'Email'; expression = { $_.EmailAddress } },
@{ name = 'AccountName'; expression = { $_.SamAccountName } },
@{ name = 'Description'; expression = { $_.Description } },
@{ name = "PasswordLastSet"; expression = { [datetime]::FromFileTime($_.pwdLastSet) } },
@{ name = 'Staff Number'; expression = { $_.pager } },
@{ name = 'LastBadPasswordAttempt'; expression = { $_.LastBadPasswordAttempt } },
@{ name = 'LastLogonDate'; expression = { $_.LastLogonDate } },
@{ name = 'logonCount'; expression = { $_.logonCount } },
@{ name = 'Enabled'; expression = { $_.Enabled } } |
Export-Csv $path2 -NoTypeInformation
推荐阅读
- sas - SAS:如何在包含最多案例的库中找到数据集?
- python-3.x - 导入 snowboydetect 生成错误
- java - 数独:某个位置的有效值
- android - Spinner Array 需要将其项目链接到现有布局?
- css - 在scss中一周内循环运行七次
- react-native - react-native-firebase - 从无头 JS 服务打开应用程序/在后台模式下从收到的通知打开应用程序
- python - 干净地处理多个变量的 TypeErrors
- java - 在 Spring Boot 中构建动态配置路径
- javascript - 如何使用 oauth2.0 调用 youtube v3 api
- java - 警报未显示(javafx)