Изход от конзолна таблица -› csv файл - Експортиране-csv

Изброявам всички „Свойства на потребителския профил“ в конзолата по „Показвано име, име и тип“ Има ли лесен начин за експортиране на изхода на таблицата в конзолата в csv файл?

Това вероятно е въпрос, който е задаван много пъти преди, но не мога да намеря добър начин да направя това.

Заснемане на изхода в конзолата. въведете описание на изображението тук

Скрипт

###############################################################################
# Export user profile properties to csv
###############################################################################

. .\Environment.ps1


Write-Host "Retrieving User Profile Properties with $DomainUser at $FinalMySiteURL" -ForegroundColor Cyan

[void][reflection.assembly]::Loadwithpartialname("Microsoft.Office.Server");            
$site=new-object Microsoft.SharePoint.SPSite("$FinalMySiteURL");            
$serviceContext = Get-SPServiceContext $site;            
$site.Dispose();

Write-Host "Getting user profile manager ..." -NoNewline
Try
{       
     $upm = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($serviceContext);
     Write-Host "Done" -ForegroundColor Green
}
Catch [system.exception]
{
    Write-Host "Error loading file, add $DomainUser as admin to the user profile service (admin/privillage)" -ForegroundColor Red
    Break
}

$userProfile = $upm.GetUserProfile("$DomainUser");


$userProfileProperties = $userProfile.Properties | sort DisplayName | FT DisplayName,Name,@{Label="Type";Expression={$_.CoreProperty.Type}}
$userProfileProperties


Write-Host "Export to output to csv file ..." -NoNewline
Try
{       
     $userProfileProperties | Export-Csv $scriptPath\UserProfileProperties.csv
     Write-Host "Done" -ForegroundColor Green
}
Catch [system.exception]
{
    Write-Host "Error loading file, add $DomainUser as admin to the user profile service (admin/privillage)" -ForegroundColor Red
    Break
}

person Plexus81    schedule 05.02.2015    source източник


Отговори (1)


Опитайте да промените Таблица за форматиране (FT) на израз за избор...

така че това:

$userProfileProperties = $userProfile.Properties | sort DisplayName | FT DisplayName,Name,@{Label="Type";Expression={$_.CoreProperty.Type}}

става:

$userProfileProperties = $userProfile.Properties | sort DisplayName | select DisplayName,Name,@{Label="Type";Expression={$_.CoreProperty.Type}}
person Steve Rathbone    schedule 05.02.2015
comment
Това е отговорът. Plexus81, проблемът ти е да се опитваш да използваш повторно изхода на Format-Table. Командите Format-* в PowerShell трябва да се използват само когато показвате изход на екрана. Ако се опитате да ги прехвърлите някъде другаде, както сте тук и изпращате $userProfileProperties | Export-CSV, ще получите повреден изход. - person FoxDeploy; 05.02.2015