Я пишу сценарий PowerShell для экспорта информации пользователей, включая группы SharePoint, к которым он или она принадлежат. Часть сценария показана ниже:
$web = Get-SPWeb $webURL
$users = Get-SPUser -Web $web.Url
foreach($user in $users){
$staffObject = New-Object PSObject -Property @{
'UserID' = $user.LoginName
'Groups' = $user.Groups
'Join Date' = ""
'Referal' = ""
}
$resultsarray += $staffObject
}
$resultsarray | Select UserID,@{Name="Groups";Expression={$_."Groups" -join '|'}},'Join Date','Referral' | Export-csv -path $sFileLocation -Append -NoTypeInformation
Прямо сейчас результат такой:
"UserID","Groups","Join Date","Referal" "123","Group A|Group B|Group C","",""
Как я могу перейти на:
"UserID","Groups","Join Date","Referal" "123","Group A","","" "123","Group B","","" "123","Group C","",""
Большое спасибо.
Это помогает?
$CSV = Import-Csv C:\Users\Ryan\Downloads\test.txt
$ReformattedUsers = @()
Foreach ($User In $CSV)
{
Foreach ($Group In $User.Groups.Split('|'))
{
$ReformattedUsers += [PSCustomObject]@{ 'UserID' = $User.UserID; `
'Groups' = $Group; `
'Join Date' = $User.'Join Date'; `
'Referal (sic)' = $User.Referal }
}
}
$ReformattedUsers | Format-Table -AutoSize
$ReformattedUsers | Export-Csv C:\Users\Ryan\Downloads\out.csv -NoTypeInformation
Вывод:
UserID Groups Join Date Referal (sic)
------ ------ --------- -------------
123 Group A
123 Group B
123 Group C
В результате CSV выглядит так:
"UserID","Groups","Join Date","Referal (sic)"
"123","Group A","",""
"123","Group B","",""
"123","Group C","",""