J'ai le code PowerShell 2.0 suivant qui fonctionne principalement.Powershell Liste récursive des fichiers pour les types spécifiques et inclure dans la chaîne
#$UserProfilePath is the path to recursively search
$MailBody = $MailBody + "`r`n`r`n Potential Valuable Files located in $NLEFriendlyName's profile include:`r`n`r`n"
$FileList = get-childitem -path $UserProfilePath -Recurse
ForEach ($File in $FileList) {
if ($File.Extension -eq ".doc") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".docx") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".xls") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".xlsx") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".ppt") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".pptx") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".pdf") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
elseif ($File.Extension -eq ".txt") {$UsefulFiles = $UsefulFiles + "`r`n" + $File.name}
}
$MailBody = $MailBody + $UsefulFiles
Et il fait surtout ce que je m'attends à ce qui génère une liste de fichiers trouvés dans le répertoire de profil d'un utilisateur.
Le problème est que le retour chariot (`r`n)
n'est pas toujours respecté. Ma variable $MailBody
finit par ressembler à l'extrait ci-dessous où il commence bien, mais arrête de le faire.
20150114-Error.txt
Server List.txt
Server Port Breakdown.xlsx
ds_time.txt
Business Continuity - Call Center Services 2009a (2) (4)-old.pdf Business Continuity - Call Center Services 2009a (2) ....pdf New Text Document.txt Office2013Rearm.txt UserList.txt StopScreensaver.txt Testing Doc 201501081355.txt Antivirus KB.docx Antivirus-Deployment.txt
This posting fait allusion un peu à une possibilité, mais je ne suis pas sûr sur la façon de traduire à mon script:
Je suis sûr qu'il ya une façon plus optimale pour lister toutes les extensions de fichier comme bien.
Merci de me pointer dans la bonne direction pour la baie d'extension de fichier. Je pensais qu'il y aurait un moyen plus facile que ce que j'avais initialement. Sur le problème de retour chariot, il apparaît magnifique si je vois le corps du courrier dans quelque chose comme l'interface Web de GMail; Cependant, si je le fais dans Outlook 2013, le retour chariot ne semble pas être appliqué de manière cohérente et je me retrouve avec ce que j'ai posté dans mon post original. –
Lorsque vous affichez l'e-mail résultant dans Outlook Web Access, il s'affiche également très bien. Quelque chose de particulier avec la façon dont le client Outlook 2013 traite le texte 'r'n. Je n'étais pas au courant de la commande -join, donc je fais quelques lectures. –
J'ai trouvé une solution possible avec le problème de saut de ligne dans le client Outlook 2013. Je vais devoir l'essayer. http://stackoverflow.com/questions/136052/how-do--format-a-string-in-an-email-so-outlook-will-print-the-line-breaks –