powershell - Get-ADGroupMember 和成员的 extensionAttribute5
问题描述
我正在编写一些脚本,他一直工作到我尝试导出到文件的那一刻。在此之后,我有一个错误-“命令管道位置 1 的 cmdlet Export-Csv”我做错了什么吗?我是 PowerShell 和一般脚本的初学者。提前致谢。
Get-ADGroupMember -Recursive ‘MFA - Users’ | ForEach {Get-ADUser -filter {SamAccountName -eq $_.SamAccountName} -Properties extensionAttribute5 ,employeeid} | Format-Table -Property name ,extensionAttribute5 ,SamAccountName ,employeeid
Export-CSV -path "$home\desktop\out-ADGroupMember.csv"
解决方案
在您的示例中,您没有向Export-Csv
命令发送数据或对象。您将需要执行以下操作:
Get-ADGroupMember -Recursive 'MFA - Users' | ForEach {
Get-ADUser -filter "SamAccountName -eq '$_.SamAccountName'" -Properties extensionAttribute5 ,employeeid
} | Export-Csv -Path "$home\desktop\out-ADGroupMember.csv" -NoType
如果您查看 的命令信息Export-Csv
,您会注意到这-InputObject
是必需的,因为它是一组不包含的参数[]
。Export-Csv的文档显示该InputObject
参数可以接受管道值。这意味着您可以将对象通过管道传递到命令中,也可以将其直接传递给参数。
# Show command info
Get-Command Export-Csv -Syntax
Export-Csv [[-Path] <string>] [[-Delimiter] <char>] -InputObject <psobject> [-LiteralPath <string>] [-Force] [-NoClobber
] [-Encoding <string>] [-Append] [-NoTypeInformation] [-WhatIf] [-Confirm] [<CommonParameters>]
Export-Csv [[-Path] <string>] -InputObject <psobject> [-LiteralPath <string>] [-Force] [-NoClobber] [-Encoding <string>]
[-Append] [-UseCulture] [-NoTypeInformation] [-WhatIf] [-Confirm] [<CommonParameters>]
# Using pipeline
$data | Export-Csv -Path file.csv -NoType
# Using named parameter
$data | foreach { Export-Csv -InputObject $_ -Path file.csv -Append -NoType}
顺便说一句,Format-*
命令只能用于显示目的。如果您计划处理输出而不仅仅是在控制台中查看它,那么您Format-*
当时不应该输入管道。
# Good practice
Get-ADGroupMember 'MFA - Users' | Format-Table
$users = Get-ADGroupMember 'MFA - Users'
$users | Export-Csv file.csv -NoType
$users | Format-Table
# Bad practice
Get-ADGroupMember 'MFA - Users' | Format-Table | Select SamAccountName
$users = Get-ADGroupMember 'MFA - Users' | Format-Table
$users | Export-Csv file.csv -NoType
推荐阅读
- typo3 - nofollow links 与 tca 的链接向导
- javascript - javascript添加中的奇怪行为
- macos - 将 mac 绑定到 AD 时未找到节点名称 (2000) 错误
- postgresql - 用作 DatawareHouse 的 Postgresql 调优
- python - 如何在 Ubuntu 上配置 python 3.7?
- r - 按另一个数据帧的行值子集数据帧
- android - 适用于 Galaxy S8+(型号 G955U)的应用程序未显示在 Google Play 商店中,可能是什么问题?
- c# - Base64.getEncoder().encode 并在 C# 中生成 PDF
- php - 从 Wordpress 中仅排除标签 x 上的第一篇文章
- c# - 如何在 Xamarin Forms 中的其他项目之上(之上)显示 ListView?