[英]Outputting file list with linebreaks to Microsoft Teams
我们正在尝试向Microsoft Teams的技术支持部门获取具有特定过滤条件的文件列表。
从技术上讲,它可以工作,但是输出混乱了。 由于某种原因,我无法将文件作为团队列表获取。 相反,所有文件都只是粘贴在一个大字符串中,文件名之间带有空格。
我尝试了一些格式设置选项,但无法找到更接近解决方案的地方。
$Limit = (Get-Date).AddMinutes(-15)
$Path = "C:\Users\<username>\Desktop"
$Extension = "*.*"
$Results = @()
$Results += Get-ChildItem -Path $Path -Filter $Extension -Recurse -Force | Where-Object {$_.CreationTime -lt $Limit -and ! $_.PSIsContainer -and $_.Extension -ne ".db"} | Select-Object Name -ExpandProperty Name | Sort-Object Name
Invoke-RestMethod -Method Post -ContentType "Application/Json" -Body "{'text': '$Results'}" -Uri https://outlook.office.com/webhook/<deleted for this example...> | Out-Null
我想在Teams中得到的是:每行一个文件名的列表现在在Teams中得到的是:一个长字符串,文件名用空格分隔。
预先感谢您的任何帮助 :-)
您需要为数组中的每个项目添加一个换行符,在Teams中,我认为这是3个空格和\\ n
看起来像这样:
$Limit = (Get-Date).AddMinutes(-15)
$Path = "C:\Users\<username>\Desktop"
$Extension = "*.*"
$Results = @()
$Results += Get-ChildItem -Path $Path -Filter $Extension -Recurse -Force | Where-Object {$_.CreationTime -lt $Limit -and ! $_.PSIsContainer -and $_.Extension -ne ".db"} | Select-Object Name -ExpandProperty Name | Sort-Object Name
$Results = $Results | Foreach-Object {"$_ \n"}
Invoke-RestMethod -Method Post -ContentType "Application/Json" -Body "{'text': '$Results'}" -Uri https://outlook.office.com/webhook/<deleted for this example...> | Out-Null
如果这样不起作用,则可能需要遍历数组并将<br>
添加到每个对象的末尾,但是您需要添加<pre></pre>
以应用HTML格式。
看起来像这样:(我使用Send-MailMessage -BodyAsHtml
进行了测试Send-MailMessage -BodyAsHtml
完美地工作了)
$Limit = (Get-Date).AddMinutes(-15)
$Path = "C:\Users\<username>\Desktop"
$Extension = "*.*"
$Results = @()
$Results += Get-ChildItem -Path $Path -Filter $Extension -Recurse -Force | Where-Object {$_.CreationTime -lt $Limit -and ! $_.PSIsContainer -and $_.Extension -ne ".db"} | Select-Object Name -ExpandProperty Name | Sort-Object Name
$Results = $Results | Foreach-Object {"$_<br>"}
Invoke-RestMethod -Method Post -ContentType "Application/Json" -Body "{'text': '<pre>$Results</pre>'}" -Uri https://outlook.office.com/webhook/<deleted for this example...> | Out-Null
让我知道这些方法是否适合您!
您发布的第一个解决方案是正确的解决方案! 非常感谢您的快速帮助。 我已经尝试使用`n进行类似的选择,但是Teams不接受将其作为有效的换行符。
我欠你一杯啤酒:-)
诚挚的,Ruud
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.