PowerShell从数据查询中获取CSV并添加列

标签 powershell active-directory

有一个包含标题“SamName”、“Email”、“UPN”的 CSV

每条记录都是当前在 AD 中的显示方式。

我正在尝试添加带有 ObjectGUID 的第五列,如下所示:

$CsvFile = Import-Csv C:\test\file.csv
$CsvFile | ForEach-Object -Process { `
    $data1 = Get-ADUser -Identity $_."SamName" -Properties * | Select-Object ObjectGUID
    $_ | Add-Member -MemberType NoteProperty -Name UserGUID -Value $data1 -PassThru } `
    Export-CSV C:\test\file2.csv

当我打开 CSV 时,新列如我所料被称为“UserGUID”。

显示的 GUID 如下所示:

@{ObjectGUID=2e9dddec-f95d-4c67-a374-b102ce7e6f74}

为什么他们不在列中显示 2e9dddec-f95d-4c67-a374-b102ce7e6f74

第二个问题是,为什么在 Csv 顶部我会看到 #TYPE System.Management.Automation.PSCustomObject

最佳答案

两个猜测来回答你的问题...

Select-Object -ExpandProperty ObjectGUID

Export-CSV C:\test\file2.csv -NoTypeInformation

请参阅 Get-Help 了解各种命令以查看所有选项。

关于PowerShell从数据查询中获取CSV并添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49685145/

相关文章:

powershell - 从另一个powershell脚本调用一个powershell脚本并保证它是UTF8

powershell - 使用DisplayNames从文本文件获取SamAccountName

c# - System.DirectoryServices.ActiveDirectory 和 Microsoft.ActiveDirectory 之间的区别

c - 如何仅使用 C 语言中的用户主体名称以编程方式确定我的 Active Directory 域?

powershell - 如何使用巧克力创建和安装 powershell 命令包?

powershell - 使用get-childitem时,Powershell Remove-Item项目为Null

java - LDAP 使用 UPN 在 Active Directory 中搜索用户

active-directory - Windows 域中的 NTLM SSO 如何工作?

powershell - 将输出重定向到不同的路径

powershell - 使用 Powershell RM 列出 Azure 应用服务的实例