首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用-ASCmd cmdlet输出到电子邮件正文

调用-ASCmd cmdlet输出到电子邮件正文
EN

Stack Overflow用户
提问于 2018-10-10 07:47:25
回答 1查看 638关注 0票数 1

我是Powershell的新手..。希望你能帮我。

我有一个脚本正在刷新Azure Analysis上的数据库(表格模型)。脚本应该刷新模型中的所有表,但不是一次刷新,因此我们希望首先并行地刷新所有维度表,然后作为第二步并行刷新所有事实表。

为此,我们使用了Invoke-ASCmd cmdlet,它调用变量$DataLoad中硬编码的代码,如下所示:

代码语言:javascript
复制
Invoke-ASCmd -Server $AASServerAddress -Query $DataLoad -Credential $AzureCred -OutVariable out

输出是xml字符串,如果刷新后的所有操作都顺利进行,则如下所示:

代码语言:javascript
复制
<return xmlns="urn:schemas-microsoft-com:xml-analysis">
    <root xmlns="urn:schemas-microsoft-com:xml-analysis:empty"></root>
</return>

如果有问题的话,那就是告诉我错误的细节。脚本完成后,它将向几个人发送电子邮件,其中包含脚本已在正文中完成的信息。

我想要的是我的Invoke-ASCmd输出到电子邮件正文。我试着和OutVariableToString()一起玩,但是它给了我身体和Write-Output的结果"System.Collections.ArrayList"

另一方面,我只是试图将我的$out变量放到正文中,但是它没有出现在电子邮件中,但是当我执行Write-Output $out时,它会显示在脚本的输出中。

是否有机会在不将xml文件保存到Azure存储并将其作为附件附加到邮件的情况下工作?我们真的很想把它放在电子邮件里。

编辑:我尝试通过使用以下各种方法将从System.Collections.ArrayList获得的-OutVariable out转换为字符串:

  1. $out“转换”为$($out)
  2. 创建$conv = $out.ToString()
  3. 尝试将| Out-StringInvoke-ASCmd cmdlet和$Message.Body变量一起使用

以上任何一项都不起作用。电子邮件是空的。我看到了一些文章,OutVariable命令给出了数组列表,而不是在Powershell版本小于6的字符串中的结果。Azure Analysis上的PS版本为5.1,由于兼容性问题,它可能无法更新。

提前谢谢你,巴特克

EN

回答 1

Stack Overflow用户

发布于 2021-11-24 16:17:25

代码语言:javascript
复制
[xml]$Result = Invoke-ASCmd –InputFile $file -Server $Server
$emailmsg = $Result.return.root.Messages.Error.description

$emailmsg'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52735165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档