我有一个PowerShell脚本,可以从CSV文件在AD中批量创建用户。我想通过创建一个单独的CSV文件对其进行扩展,该文件包含所有创建失败的帐户的详细信息。为此,我正在创建一个包含原始详细信息的数组,然后可以在脚本末尾将其导出为CSV。我的测试代码如下:
Function AddToCSV($reason)
{
$object = New-Object -TypeName PSObject
$object | Add-Member -Name "Firstname" -MemberType NoteProperty -Value $UserFirstName
$object | Add-Member -Name "Lastname" -MemberType NoteProperty -Value $UserLastName
$object | Add-Member -Name "SAM" -MemberType NoteProperty -Value $Sam
$object | Add-Member -Name "Password" -MemberType NoteProperty -Value $Password
$object | Add-Member -Name "Description" -MemberType NoteProperty -Value $Description
$object | Add-Member -Name "AdGroups" -MemberType NoteProperty -Value $AdGroups
$object | Add-Member -Name "Reason" -MemberType NoteProperty -Value $reason
$global:failArray += $object
}
$failArray = @()
$array = ("One","Two","Three")
foreach ($item in $array)
{
$UserFirstName = "Test"
$UserLastName = "Test"
$Sam = "TEST.accOUNT"
$Password = "P4ssword"
$Description = "Test User"
$AdGroups = "Group1;Group2"
AddToCSV "account already exists"
}
$failArray | Format-Table
项目已成功添加到数组,但是当我尝试使用Format-Table
显示数组时,其输出如下:
@{Firstname=Test; Lastname=Test; SAM=TEST.accOUNT; Password=P4ssword; Description=Test User; AdGroups=Group1;Group2; Reason=account already exists}@{Firstname=Test; Lastname=Test; SAM=TEST.AC
COUNT; Password=P4ssword; Description=Test User; AdGroups=Group1;Group2; Reason=account already exists}@{Firstname=Test; Lastname=Test; SAM=TEST.accOUNT; Password=P4ssword; Description=Test U
ser; AdGroups=Group1;Group2; Reason=account already exists}
尝试使用$failArray | Export-CSV -PAth "C:\Temp\Test.csv"
导出为CSV只会导致以下输出:
如何获取数组以表格形式或可用的CSV文件输出?