Powershell 脚本使用管道 Get 命令检索 AD 信息,然后复制到 csv 文件,但出现“附加”错误

Powershell 脚本使用管道 Get 命令检索 AD 信息,然后复制到 csv 文件,但出现“附加”错误

我正在尝试运行多个 Get 命令来检索 AD 信息。我已将所有这些命令通过管道传输,现在我想写入输出以将所有信息写入一个 csv,但目前我收到“找不到与名为‘append’的参数匹配的参数

    $OutFile = "C:\Results.csv"

#This gets the managedBy and name
$Domain=Get-addomain|select-object ManagedBy,Name | Export-csv -Path $OutFile -append -notypeinformation

#This gets the distinguished name
$Users=Get-ADUser -Filter *|select-object DistinguishedName | Export-csv -Path $OutFile -append -NoTypeInformation

#Gets User
$ADUsers=Get-ADUser -filter *| Export-csv -Path $OutFile -append -NoTypeInformation

答案1

对您来说,可能有用的是使用数组创建新对象,然后将其输出到 csv 文件。我提取了之前使用过的相关代码部分(变量名称已被更改以保护无辜者 :) ),这应该可以让您了解如何实现这一点(并且一些谷歌搜索可以填补任何其他缺失的部分):

初始化你将要使用的数组

$objOut = @()
$objWork= @()

循环遍历列表中的对象 - 假设你将从多个答案/数据构建 csv,你将循环收集这些答案/数据

Foreach ($objList 在 $list 中){

在循环中,将要添加到数组的值分配给 objwork,将其视为在 DB 中添加记录。假设您在这里收集将填充 $firstvalue 和 $secondvalue 值的数据(例如您拥有的 AD 调用)

$objWork = 新对象系统.对象
$objWork | 添加成员 -类型 NoteProperty -名称 header1 -值 $firstvalue
$objWork| 添加成员 -类型 NoteProperty -名称 header2 -值 $secondvalue
$objOut += $objWork
}

将所有用户详细信息数组导出到 CSV 文件以供使用(好极了!)

$objOut | 导出-CSV C:\results.csv

答案2

在第三个命令上,我收到了完全不同的错误。

Export-csv:无法将 CSV 内容附加到以下文件:Results.csv。附加的对象没有与以下列对应的属性:ManagedBy。要继续处理不匹配的属性,请添加 -Force 参数,然后重试该命令。

这很有道理。您不能将不同的列放入单个 CSV 文件中。导出为纯文本,或使用多个 CSV 文件。

相关内容