【问题标题】:Trying to get dev test lab VM username used in Artifacts Run Powershell script尝试获取 Artifacts Run Powershell 脚本中使用的开发测试实验室 VM 用户名
【发布时间】:2020-08-17 04:55:59
【问题描述】:

我们创建了一个工件 "Clone a Git Repo" - 从 git hub 克隆 PS1 脚本 “运行 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 并发送?

【问题讨论】:

    标签: azure azure-vm azure-devtest-labs


    【解决方案1】:

    您可能需要将其设置为大写才能找到变量。查看accessing variables through the environment:的文档

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

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

    • 批处理脚本:%VARIABLE_NAME%
    • PowerShell 脚本:$env:VARIABLE_NAME
    • Bash 脚本:$VARIABLE_NAME

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多