Question [SP10 - Powershell] Générer un fichier excel

Plus d'informations
il y a 10 ans 2 semaines #17304 par ANTRI Mohamed
Hello,

Comme l'a indiqué notre très chère Laurent il faut que tu génères ta collection ensuite tu pourras sois exporté tous cela dans un csv que tu traitera manuellement avec excel. Ou alors tu as les objets de type COM pour pouvoir manipuler Excel. exemple :

[code:1]$excel = new-object -comobject Excel.Application[/code:1]

N'hésite pas à revenir vers nous.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 2 semaines #17306 par MicroVal
Bonjour,

Merci pour votre aide.

Mais après testé plein de possibilités, je ne vois pas du tout comment faire..

J'ai fais comme vous me l'avez indiqué, j'ai construit ma collection en stockant le résultat de ma fonction dans une variable $resultat et je l'exporte dans un fichier csv :

[code:1]
foreach($siteColl in $spWebApp.Sites)
{
Write-Output \"Site Collection: $($siteColl.Url)\"
$resultat = RecurseSiteAndDoSomething -SiteIdentity $($siteColl.RootWeb) | export-csv d:\WebAnalytics\outputAnalytics.csv -noType
}[/code:1]

Mais cela ne me retourne qu'un seul résultat..

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 2 semaines #17309 par ANTRI Mohamed
Quelle version de Powershell utilisez-vous ? Pour le savoir lancer la commande suivante :

[code:1]$psversiontable[/code:1]

ensuite donnez nous la valeur inscrite pour l'attribut PSVersion. Si vous êtes au minimum à la version 3.0 vous pourrez rajouter le paramètre [code:1]-Append[/code:1] à votre commande [code:1]export-csv[/code:1] et je pense que ce paramètre vous permettra de corriger votre problème. Ce qui vous donnerai :

[code:1]$resultat = RecurseSiteAndDoSomething -SiteIdentity $($siteColl.RootWeb) | export-csv d:\WebAnalytics\outputAnalytics.csv -noTypeInformation -Append [/code:1]

Nous attendons votre retour.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 10 ans 2 semaines #17311 par Laurent Dardenne
MicroVal écrit:

J'ai fais comme vous me l'avez indiqué

Oui, mais je ne t'ai pas donné un exemple précis, juste le principe.
Dans ton cas, la mémorisation du résultat dans une variable intermédiaire ne fonctionnera pas, car chaque itération écrasera le contenu précédent. procédes ainsi :
[code:1]
#Construit la collection
$resultat=foreach($siteColl in $spWebApp.Sites)
{
Write-Output \"Site Collection: $($siteColl.Url)\"
RecurseSiteAndDoSomething -SiteIdentity $($siteColl.RootWeb) | export-csv d:\WebAnalytics\outputAnalytics.csv -noType
}
#exporte la collection
$resultat|export-csv d:\WebAnalytics\outputAnalytics.csv -noType
[/code:1]
En passsant, le type de construction suivant :
[code:1]
$resultat =get-process p*|Export-csv c:\temp\test.csv
[/code:1]
exporte les objets, mais ne renseigne pas la variable.
Pour exporter les objets ET renseigner la variable utilise Tee-object :
[code:1]
get-process p*|Tee-Object -Variable resultat|Export-csv c:\temp\test.csv
[/code:1]
Mais dans ton cas tu n'en as pas besoin.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.072 secondes
Propulsé par Kunena