0

我们创建了一个工件“Clone a Git Repo”——从 git hub 克隆 PS1 脚本“Run Powershell”运行 PS1 脚本。这些工件与公式相关联。

在创建新 VM 时,公式将应用于运行 PS1 脚本的运行。运行公式后,尝试使用以下 powershell ps1 脚本发送邮件。

PS1 脚本

...
...
##Send mail to the User email
$ipV4 = Test-Connection -ComputerName (hostname) -Count 1  | Select -ExpandProperty IPV4Address
$emailId = $env:UserName+"@gmail.com"    
$body = "<html>
            <body>
                Hi $emailId, </br>
                </br> 
                Your VM $ipV4 is ready to access. <br/>
                Thanks,</br>
                Digital Engagement Team
            </body>
        </html>"
Send-MailMessage -To $emailId -from *** -Subject "Azure VM $ipV4 is Ready" -SmtpServer ****** -port 25 -Body $body -BodyAsHtml

我厌倦了这样做,但脚本无法发送消息可能$env:UserName是因为无效。如何获取 VM 用户名作为 PS1 的参数,以便我可以附加 gmail.com 并发送?

4

1 回答 1

0

您可能需要使其大写才能找到变量。检查通过环境访问变量的文档:

请注意,变量也可以通过环境变量提供给脚本。使用这些环境变量的语法取决于脚本语言。

名称是大写的,而 . 替换为_。这会自动插入到流程环境中。这里有些例子:

  • 批处理脚本:%VARIABLE_NAME%
  • PowerShell 脚本:$env:VARIABLE_NAME
  • Bash 脚本:$VARIABLE_NAME
于 2020-08-17T16:08:23.983 回答