如何以域用户身份运行Azure VM CustomScriptExtension? (第1部分)

时间:2016-03-14 16:00:49

标签: powershell azure windowsdomainaccount

我工作的是一个Powershell脚本,它接受一个JSON文件来创建一个新的VM; JSON文件包含VM加入域并运行自定义脚本的说明。这两件事都会发生,但脚本以用户workgroup\system运行,因此无法访问网络驱动器。

  • 按照此顺序列出扩展保证脚本在域加入完成后运行(或者是偶然的)?

我是否可以采取措施确保在域加入完成之前脚本不会运行?如何最好地检测(从新VM本地)域加入完成?你如何延迟运行脚本直到更好的时间(像一次性的cron作业)?

更新:将问题分成两部分,另一半是here

另外,非常感谢 Dewi Jones一个多小时的互动支持。我很感激能够只给出一个复选标记作为回报。

1 个答案:

答案 0 :(得分:1)

获取域名,如果域名等于您加入的域名,则继续。

$domain = gc env:UserDNSDomain

While ($domain -neq "FQDN")
{
Start-Sleep -seconds 2
}

否则,您可以使用凭据调用脚本,如下所示

$username = 'user'
$password = 'password'
$PSArgs = 'Script file name'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword
Start-Process Powershell.exe -Credential $credential $PSArgs